React:通过onClick将属性从功能组件传递到类组件

时间:2018-06-22 18:58:50

标签: javascript reactjs

这两个前两个代码片段均出现在类组件中。 这是onClick处理程序:

selectChoice = (id) => {
  console.log(id)
}

在这里我调用功能部件,该部件生成我需要的id和onClick方法。

<ReturnChoices choices={this.state.choices} selectChoice={() => this.selectChoice(id)}/>

这是功能组件。

const ReturnChoices = ({choices, selectChoice}) => {
  return choices.map(( choice , index) => (
    <li key={index} id={index} onClick={() => { selectChoice(this.id) }}>
      {choice}
    </li>
  ))
} 

由于某种原因,id会以“ undefined”的形式出现

2 个答案:

答案 0 :(得分:1)

id作为参数提供的ReturnChoices传递给调用方函数

<ReturnChoices choices={this.state.choices} selectChoice={(id) => this.selectChoice(id)}/>

答案 1 :(得分:1)

通过函数本身,无需包装其他函数:

<ReturnChoices choices={this.state.choices} selectChoice={this.selectChoice}/>