我在React组件中有一个onClick
道具,其中包含以下内容:
onClick={_.bind(this.callMe, this, argToPass)}
请记住,这是在使用React.createClass的React组件中,因此组件函数应该绑定到它的上下文。
不幸的是,当我尝试通过执行以下操作来绑定它时:
onClick={this.callMe(argToPass)}
它破坏了我的一项测试。
我不想绑定它,因为它像这样的道具传递:
onClick={this.callMe(argToPass).bind(this)}
b / c性能问题。
什么是香草javascript相当于:
_.bind(this.callMe, this, argToPass)
这将允许函数正确绑定。
谢谢!
答案 0 :(得分:5)
JS等价物是Function#bind:
this.callMe.bind(this, argToPass)
btw - 我建议在渲染阶段避免绑定道具中的函数。您可以在Why shouldn't JSX props use arrow functions or bind?
中详细了解相关信息答案 1 :(得分:0)
onClick = {() => this.callMe(arrtopass)}
试试这个。这是es6 sentax。
答案 2 :(得分:0)
ENCODING_ERR 5