如何在 ReactJs 中的箭头函数中传递事件和其他参数
How to pass event and other arguments inside an arrow function in ReactJs
我是 React 的初学者,遇到了一个问题:
这是我在渲染函数中的代码
let contnt = null;
if(this.state.showPersons)
{
contnt = (
<div >
{this.state.persons.map((ppl,index)=>{
return <Person name={ppl.name}
age={ppl.age}
changed={this.nameChange} // THE FOCUS POINT
click={()=>this.deletePerson(index)}
key={index}></Person>
}) }
</div>
)
}
上面的代码工作正常,函数 nameChange 也读取事件,无需显式将其作为参数发送。
但是我也想将索引发送到我的 nameChange 函数,但是如果我定义 changed 为:
changed={()=>this.nameChange(event, index)}
它报错说找不到事件...
如何将事件连同参数一起发送到渲染函数内的箭头函数定义?
我知道这似乎是一个非常基本的问题,但往往会随意开始的初学者经常会遇到这样简单的基本问题。
后来我在那里学习了一个教程并找到了它,所以认为它值得分享..
并且事件可以像这样在箭头函数的第一个括号中发送:
changed={(event)=>this.nameChange(event, index)}
然后在nameChange函数中可以读取事件和索引。
我是 React 的初学者,遇到了一个问题:
这是我在渲染函数中的代码
let contnt = null;
if(this.state.showPersons)
{
contnt = (
<div >
{this.state.persons.map((ppl,index)=>{
return <Person name={ppl.name}
age={ppl.age}
changed={this.nameChange} // THE FOCUS POINT
click={()=>this.deletePerson(index)}
key={index}></Person>
}) }
</div>
)
}
上面的代码工作正常,函数 nameChange 也读取事件,无需显式将其作为参数发送。
但是我也想将索引发送到我的 nameChange 函数,但是如果我定义 changed 为:
changed={()=>this.nameChange(event, index)}
它报错说找不到事件...
如何将事件连同参数一起发送到渲染函数内的箭头函数定义?
我知道这似乎是一个非常基本的问题,但往往会随意开始的初学者经常会遇到这样简单的基本问题。
后来我在那里学习了一个教程并找到了它,所以认为它值得分享..
并且事件可以像这样在箭头函数的第一个括号中发送:
changed={(event)=>this.nameChange(event, index)}
然后在nameChange函数中可以读取事件和索引。