我正在學習React.js。在本教程中,作者使用onClick和bind,但是在某些地方,他不使用帶onClick的綁定。 我無法區分兩者之間的區別。爲什麼我們在onClick事件中使用綁定方法
<button onClick={this.handleAdd}>Add Item</button>
我正在學習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