文章詳情頁
javascript - React中組件綁定this
瀏覽:107日期:2023-05-05 18:28:44
問題描述
<button onClick={this.handleEvent}> //這里的this是toggle組件 為什么還需要在組件里綁定這個函數的this {this.state.isToggleOn === true ? ’on’ : ’off’}</button>
想不明白這里的this綁定
問題解答
回答1:因為在class中聲明函數,并不會自動綁定this對象
所以,你在onClick={this.handleEvent}的時候,分解成兩步你就懂了:
let handleEvent = this.handleEvent;...onClick={handleEvent}...
所以,onClick調用的時候,handleEvent中的this會是undefined(根據文檔)
所以,你需要bind一下, 那么里面的this就是當前組件啦。
還有一種方便的寫法,就是用箭頭函數聲明:
handleEvent = (e)=>{}render(){ ...onClick={this.handleEvent}...}回答2:
因為handleEvent中this.setState...的this并沒有綁定this
可以采用箭頭函數的語法糖來綁定this
handleEvent = () => { this.setState...}
標簽:
JavaScript
相關文章:
1. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處2. mysql - 這個數據庫合計用 視圖做,和直接算好存在數據庫里,到時候調用起來哪個快?3. python - 在django內如何讓后臺增加的文章自動加上是哪個用戶編輯的呢?4. centos7 編譯安裝 Python 3.5.1 失敗5. 如何修改phpstudy的phpmyadmin放到其他地方6. python - beautifulsoup獲取網頁內容的問題7. 人工智能 - python 機器學習 醫療數據 怎么學8. 關于Mysql聯合查詢9. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)10. c++ - 請問MySQL_Connection::isReadOnly 怎么解決?
排行榜
