文章詳情頁
javascript - React中組件綁定this
瀏覽:146日期: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. node.js - 為什么用file協議打開的html可以連接websocket2. javascript - 為什么express,get的res.sendFile返回的是html純文本?3. node.js - 為什么npm安裝vue-cli會出現下面的錯誤??!!!?4. CSS3中偽類選擇器的問題??求大神們解答5. 微信支付 - python做微信企業付款出現CA證書錯誤6. 了解Java中的有限泛型。有什么意義?7. javascript - 用jquery實現表格行 置頂之后 如何跟后臺用ajax交互 在刷新之后仍保持當前位置?8. 前端 - css3傾斜帶來問題部分?9. javascript - Web微信聊天輸入框解決方案10. 網站在移動的環境下手機,pc打不開
排行榜
