Javascript 在react中映射数组时单击handleClick
我试图通过一个数组进行映射,并创建将更新状态的链接。当我在数组中映射并创建链接时: TypeError:无法读取未定义的属性“handleClick”Javascript 在react中映射数组时单击handleClick,javascript,reactjs,Javascript,Reactjs,我试图通过一个数组进行映射,并创建将更新状态的链接。当我在数组中映射并创建链接时: TypeError:无法读取未定义的属性“handleClick” var FilterList=React.createClass({ handleClick:函数(e,list){ this.props.callbackFromParent(列表); this.setState({showing:list}); }, render:function(){ 如果(this.props.sdata){ var季
var FilterList=React.createClass({
handleClick:函数(e,list){
this.props.callbackFromParent(列表);
this.setState({showing:list});
},
render:function(){
如果(this.props.sdata){
var季节=“”;
seasons=this.props.sdata.seasons.map(函数(季节,i){
如果(i<30){
var playkey=seasure.mediaId;
变量名称=季节。季节;
返回(
);
}否则{
返回();
}
});
返回(
{季节}
);
}否则{
返回(
);
}
}
});
导出默认过滤器列表代码>您还没有将{this}绑定到this.props.sdata.Seasons.map(()=>{})
应该是:
render: function() {
if(this.props.sdata ){
var seasons ='';
seasons = this.props.sdata.Seasons.map( (season, i) => {
//...
});
} else {
//...
}
//...
}
如果我正确理解了您的问题,您需要将其绑定到事件处理程序:
...
onClick={this.handleClick.bind(this)}
...
问题是“this”关键字的值取决于调用函数的方式。
“this”在“map()”中的匿名函数内部调用。所以“这个”将是未定义的
解决方案:
Bind()“this”到匿名函数
this.props.sdata.seasures.map(函数(季节,i){
//……诸如此类
}.约束(这个)代码>可能重复的