因此,我一直在寻找正确的方法来将参数对象和事件对象传递给react中的事件处理程序。有最佳实践吗?

我发现的唯一方法是使用箭头函数并像这样传入事件对象和参数。

<Button onClick={(e) => this.updateProgress(e, 1)} >Increase</Button>


由于在某些情况下可能存在多个回调绑定,因此官方文档不建议这样做。

https://facebook.github.io/react/docs/handling-events.html

有没有一种方法可以将事件对象和事件args对象传递给事件处理程序,而无需使用箭头功能?

最佳答案

我从来没有主动劝阻过。您所指的文档部分是不传递额外参数时。

当您传递参数时,您呈现的方式恰好就是做到这一点的方式。

编辑例外是,如果参数是某种常量(我想不出它们是哪种情况,只是标记)。

这种模式(您提出的模式)对于循环中的处理程序尤其重要,在循环中,每个项目都需要调用回调/处理程序,但要在id或键或索引上进行转发。

10-07 14:10
查看更多