react 事件響應即react的事件函數爲什麼要bind(this)

在react的官方教程中 有
在這裏插入圖片描述
爲了在回調中正確使用“this”,這個綁定是必不可少的。
下面對這句話進行解釋:

除了這種加bind(this)的方法 ,還有一種方法,即將事件響應函數更改爲箭頭函數。具體方式如下:
在這裏插入圖片描述

下面注意:

在ES6 class 內定義方法時,如果不是箭頭函數,方法是掛載在原型對象上的!
就像下面的handleClick() 函數,輸出的就是this 那麼this 就是button對象

圖一
輸出結果:
在這裏插入圖片描述

如果是箭頭函數,就會有
箭頭函數運行結果
this 指向了想要的對象環境中

總結

通過以上代碼解析,能知道 React 中,在不適用箭頭函數時,需要通過 bind 將函數內 this 指向當前對象才能正常訪問。

而使用箭頭函數時,由於箭頭函數的特性,函數內的 this 就是當前對象上下文,所以不需要 bind 來指向。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章