通过功能参考

时间:2018-09-14 08:00:39

标签: javascript reactjs object

我不明白为什么两次将事件作为参数传递。

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

vs

click={() => this.deletePersonHandler(index)}

索引仅传递一次?

   <Person click={() => this.deletePersonHandler(index)}
         name={person.name}
         age={person.age}
         key={person.id}
         changed={event => this.nameChangedHandler(event, person.id)}
   />

1 个答案:

答案 0 :(得分:0)

首先,我建议您根据文档使用onClick(点击):

https://reactjs.org/docs/handling-events.html

onChange(已更改)也是如此:

https://reactjs.org/docs/forms.html

第二,我猜你的Person组件在一个循环中,在该循环中每次迭代都会生成索引。

https://reactjs.org/docs/lists-and-keys.html

请记住,索引只是来自Person组件外部的变量。

另一方面,onChange(以及onClick等其他事件)允许您访问回调函数内部的事件对象(发生该事件时),但前提是您将其作为参数传递。

有关处理事件的更多信息:https://eloquentjavascript.net/15_event.html