React綁定onClick爲何要用箭頭函數?es6
https://segmentfault.com/q/1010000010918131segmentfault
如何優雅地在React中處理事件響應函數
https://segmentfault.com/a/1190000010308456this
一:code
事件處理函數使用es6寫法:事件
在使用ES6 classes或者純函數時,React不會自動綁定this
到當前組件上,須要手動實現this
的綁定。console
handleClick = (i) => {
console.log(i)
}class
<p onClick={this.handleClick.bind(this,123)}>iiiii</p>test
二:bind
onClick內部使用箭頭函數
箭頭函數能夠自動綁定定義此函數做用的this
,所以不須要bind
。
testhhandleClick(){
console.log('testhhandleClick')
}
<p onClick={()=>{this.testhhandleClick()}}>testhhandleClick</p>