什么是Lodash的_.bind的香草javascript等价物?

时间:2017-09-26 16:24:13

标签: javascript reactjs lodash bind

我在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)

这将允许函数正确绑定。

谢谢!

3 个答案:

答案 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