了解以下箭头功能以及“事件”的工作方式

时间:2018-07-02 06:17:41

标签: javascript reactjs function

changed={(event) => this.nameChangedhandler(event, person.id)} 

是正确的,如果我不需要将person.id或任何其他参数传递给该方法,那么我可以这样写:

changed={(event) => this.nameChangedhandler(event)} 

和它一样吗:

changed={this.nameChangedhandler} 

??

因为onChanged中的事件会自动传递(位于将其作为道具的组件中,请参见下文)?

此处是组件中的道具:

<input type="text" onChange={props.changed} value={props.name}/>

2 个答案:

答案 0 :(得分:0)

是的,两者相同。

changed={(event) => this.nameChangedhandler(event)} 
changed={this.nameChangedhandler}

更改后的函数将接收事件作为第一个参数,因此您可以使用箭头函数或直接函数。

如果要传递ID,可以使用bind或arrow函数。如果使用bind,则id将作为第一个参数被接收。

答案 1 :(得分:0)

changed={(event) => this.nameChangedhandler(event)}是箭头函数的语法,如果引用的方法后面没有(),例如changed={this.nameChangedhandler},则应绑定该方法。如果使绑定烦恼,可以通过两种方法解决此问题。如果您使用实验性的公共类字段语法或上方的箭头功能。请在此处https://reactjs.org/docs/handling-events.html

中进行详细说明