栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

React.js:将参数传递给事件处理程序的最有效方法,而无需在组件中使用bind()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

React.js:将参数传递给事件处理程序的最有效方法,而无需在组件中使用bind()

如果您担心内联箭头功能的性能,请不要使用它。您仍然可以使用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:由于问题范围明显不同,因此我没有将此帖子标记为重复。因此,只需链接该帖子,即可深入了解更多细节。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/616448.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号