javascript - React中元件綁定this
大家讲道理
大家讲道理 2017-06-28 09:26:21
0
2
734

#
<button onClick={this.handleEvent}>    //这里的this是toggle组件 为什么还需要在组件里绑定这个函数的this 
  {this.state.isToggleOn === true ? 'on' : 'off'}
</button>

想不明白這裡的this綁定

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(2)
三叔

因為在class中宣告函數,並不會自動綁定this物件

所以,你在onClick={this.handleEvent}的時候,分解成兩步你就懂了:

let handleEvent = this.handleEvent;
...onClick={handleEvent}...

所以,onClick調用的時候,handleEvent中的this會是undefined(根據文檔)

所以,你需要bind一下, 那麼裡面的this就是當前組件啦。

還有一個方便的寫法,就是用箭頭函數宣告:

handleEvent = (e)=>{

}

render(){
  ...onClick={this.handleEvent}...
}
给我你的怀抱

因為handleEvent中this.setState...
的this並沒有綁定this

可以採用箭頭函數的語法糖來綁定this

handleEvent = () => {
    this.setState...
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!