文章詳情頁
javascript - React中組件綁定this
瀏覽:130日期: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. javascript - vue 數據更新了。但是dom沒有更新,,,,,如圖3. java - 多叉樹求值,程序高手,算法高手看過來4. javascript - 判斷用戶網絡環境5. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?6. javascript - windos下第一次用Django無法正確創建工程目錄7. java - IDEA從SVN檢出項目 并在tomcat上運行 求詳細流程8. css - 百分比min-height的一個問題9. valign=top 是啥意思10. javascript - weex 怎么監聽滾動到某處,然后添加fixed固定效果
排行榜
