如果您担心内联箭头功能的性能,请不要使用它。您仍然可以使用public class方法并绑定上下文
this。
handleClick = () => () => { this.setState({ // this works now isClicked:true });}您可以像这样传递任何您喜欢的参数:
handleClick = (param1, param2, param3) => (event) => {根据devserkan的评论,
这很麻烦,与其他选项相同。每个渲染中也会重新创建此功能。
不,不是。请参阅文档中的注释:
如果将此回调作为对较低组件的支持传递,则这些组件可能会进行额外的重新渲染。我们通常建议在构造函数中绑定或使用 class字段语法
,以避免此类性能问题。
另外,请参见来自bigga-hd的有关特定性能答案的评论:
避免在渲染中声明箭头功能或绑定以获得最佳性能。 在渲染之外声明功能。不再在每个渲染器上分配功能。
您如何称呼此处理程序?
您可以像这样调用方法:
onClick={this.handleClick(param1,param2,param3)}PS:由于问题范围明显不同,因此我没有将此帖子标记为重复。因此,只需链接该帖子,即可深入了解更多细节。



