React:在传递我的onClick函数

时间:2018-07-18 03:01:36

标签: javascript reactjs

我不确定在映射数组时尝试使用函数时为什么会出现"TypeError: Cannot read property 'handleClickSimilar' of undefined"错误。

     handleClickSimilar = (d) => {
        console.log("testing click") 
    }


 render() {
      (...rest of my component)  
      <div className="bottom-content-right">
        <h3>Participating countries:</h3>
        {otherCountries && otherCountries.map(function(d, idx){
          return (<div onClick={() => this.handleClickSimilar(d)} key={idx}>{d}</div>)
        })}
      </div>

1 个答案:

答案 0 :(得分:0)

您需要使otherCountries.map函数成为箭头函数(即(d,idx)=> )。

otherCountries.map(function(d, idx){替换为otherCountries.map((d, idx) =>{

所以会像

{otherCountries && otherCountries.map((d, idx) => {
  return (<div onClick={() => this.handleClickSimilar(d)} key={idx}>{d}</div>)
})}