为什么我们在onClick事件中使用绑定方法
我正在学习React.js。在本教程中,作者使用onClick和bind,但是在某些地方,他不使用带onClick的绑定。 我无法区分两者之间的区别。为什么我们在onClick事件中使用绑定方法
<button onClick={this.handleAdd}>Add Item</button>
您可能使用bind
为了将某个参数传递给处理程序方法。
例如:
render: function() {
return _.map(list, function(item) {
return <li onClick={this.clickItem.bind(this, item)}>{item.name}</li>;
});
},
clickItem: function(item, event) {
//do something with the clicked item
}
如果没有需要注入的说法,你不需要bind
因为总是反应调用组件的范围的处理方法 - although this is changing soon
这不是你使用'bind'方法的原因:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind – 2017-02-21 12:13:35
非常真实。但我想我在React.Component存在之前发布了这个答案(实际上是的,我在我的答案中引用了“即将发生的变化”)。那时候,你总是使用'React.createClass()',这意味着'this.handleAdd'将总是绑定到组件实例,除非你有参数传递,否则你绝不会使用'bind'。我想如果你愿意的话,你可以重写'this',但这对组件的方法来说真的很奇怪。 – 2017-02-23 00:01:57
嘿!感谢您澄清:+1: – 2017-02-23 09:34:53
你可以发布另一个使用'bind'方法的例子吗? – 2015-02-24 05:18:58