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}/>
答案 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