Javascript &引用;这是未定义的;嵌套返回语句中的
我试图将一些道具Javascript &引用;这是未定义的;嵌套返回语句中的,javascript,reactjs,Javascript,Reactjs,我试图将一些道具mapObject={this.props.mapObject}详细信息={this.props.parsedData.categories[key]传递给另一个组件Item,但我得到了TypeError:这是未定义的 道具传递正确,因为我可以在调用mapObject的第一行访问道具。只有在嵌套的返回中才能访问道具。我的代码如下 class List extends React.Component { constructor(props) { super(
mapObject={this.props.mapObject}详细信息={this.props.parsedData.categories[key]
传递给另一个组件Item
,但我得到了TypeError:这是未定义的
道具传递正确,因为我可以在调用mapObject
的第一行访问道具。只有在嵌套的返回中才能访问道具。我的代码如下
class List extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
this.props.mapObject(this.props.parsedData.categories, function (key, value) {
return (
<div id="dropdown">
<div id="category-cirle"><center>{key[0].toUpperCase() + key[1]}</center></div>
<div id="dropdown-content">
<Item key={key} mapObject={this.props.mapObject} details={this.props.parsedData.categories[key]} />
</div>
</div>
);
})
);
}
}
类列表扩展了React.Component{
建造师(道具){
超级(道具);
}
render(){
返回(
this.props.mapObject(this.props.parsedData.categories,函数(键,值){
返回(
{key[0].toUpperCase()+key[1]}
);
})
);
}
}
如何将道具传递到项?您正在使用函数作为mapObjects
的第二个参数,因此函数中的此
不是指您的组件类。请尝试改用箭头语法,它将保留此
的上下文:
this.props.mapObjects(this.props.parsedData.categories,(key,value)=>{
返回。。。
});
您可以使用胖箭头函数(它会自动绑定此函数)。与其使用,不如使用函数(键,值)
尝试使用,(键,值)=>
此
在javascript中有点特殊。以下链接有助于我更好地理解javascript: