Reactjs 无法读取属性';函数名';未定义的
我正在制作一个网格,每个网格有3列,每个列有一个按钮Reactjs 无法读取属性';函数名';未定义的,reactjs,Reactjs,我正在制作一个网格,每个网格有3列,每个列有一个按钮 renderProperties=数据=>{ 变量属性=[] var propRow=[] data.forEach(函数(属性、索引){ 推( {property.location} this.handleRentProperty(property)}>Rent属性 ) if((索引+1)%3==0){//if在行的第一个 properties.push({propRow}) propRow=[] } }) 返回( {properties
renderProperties=数据=>{
变量属性=[]
var propRow=[]
data.forEach(函数(属性、索引){
推(
{property.location}
this.handleRentProperty(property)}>Rent属性
)
if((索引+1)%3==0){//if在行的第一个
properties.push({propRow})
propRow=[]
}
})
返回(
{properties}
)
}
handleRentProperty=prop=>{
this.setState({show:true});
//this.setState({rentProperty:prop.location})
}
中的renderProperties在渲染中渲染为:
render() {
{this.renderProperties(data)}
}
我一直在变老
“TypeError:无法读取未定义的属性'handleRentProperty'”
我尝试了以下不同的方式绑定类似的bind
:
onClick={(e)=>this.handleRentProperty(property,e)}
onClick={this.handleRentProperty.bind(this,property)}
onClick={this.handleRentProperty(property)}
onClick={()=>this.handleRentProperty.bind(this,property)}
将数据.forEach(函数(属性,索引){
更改为数据.forEach((属性,索引)=>{
箭头函数从其定义的范围中获得
此
。常规函数根据调用方获得自己的此
。请添加注释解释您的答案,关于箭头函数与常规函数的使用,以便将来用户更好地理解为什么会发生这种情况哇,谢谢,我可以/将会在网上搜索一下(谢谢Jou_va告诉我这是什么)。我要等9分钟才能接受答案