oxy*_*_js 9 html javascript reactjs
我试图在ImageText组件中使用道具传递两个参数.
我不确定它是否是正确的方法,或者我必须创建一个地图然后传递它.
import React, { PropTypes, Component } from 'react'
const ImageText = () => (
<div className="img-with-text">
<img className="img" src={props.imageUrl} />
<p className="txt">{props.imageText}</p>
</div>
);
export default ImageText;
Run Code Online (Sandbox Code Playgroud)
从另一个调用此组件,如下所示
<ImageText imageUrl="/js.com" imageText="food"/>
Run Code Online (Sandbox Code Playgroud)
但是抛出错误就像
Uncaught (in promise) ReferenceError: props is not defined
at ImageText
Run Code Online (Sandbox Code Playgroud)
BEJ*_*SAD 24
在您的情况下,您正在使用"箭头功能",需要在括号内传递参数
const ImageText = () => (
Run Code Online (Sandbox Code Playgroud)
应该
const ImageText = (props) => (
Run Code Online (Sandbox Code Playgroud)
现在
let props = {
imageUrl:"/js.com",
imageText:""food""
}
<ImageText {...props} />
Run Code Online (Sandbox Code Playgroud)
在ImageText里面访问就像
{props.imageUrl} or {props.imageText}
Run Code Online (Sandbox Code Playgroud)
当你像这样定义你的组件时,你需要将你的 props 作为参数传递给匿名函数:
const ImageText = ({imageUrl, imageText}) => ( ... 其余代码 ... );