1.行間定義事件後面使用bind繫結this
使用bind來修改this的指向,需要注意的是bind括號內第乙個引數是修改this的,後面可以設定其他引數進行傳值。**如下:
run()this.run.bind(this)}>第一種
2.在建構函式內部宣告this指向
第二種方法和第一種方法原理一樣,只是寫的位置不同。**如下:
constructor(props)this.run = this.run.bind(this);}
run()
this.run}>第二種
3.宣告事件時將事件等於乙個箭頭函式
將定義的run方法再等於乙個箭頭函式,利用箭頭函式沒有自己的this指標會繼承外層的作用域這個特性,來解決this指向問題。**如下:
run=()=>this.run}>第三種
4.行間定義事件使用箭頭函式
第四種方法和第三種方法的原理是一樣的,只是寫法不同。**如下:
run()this.run()>第四種
總的來說,改變this的指向問題可以通過使用bind來修改this的指向,還有可以使用箭頭函式來解決。
React事件 改變this指向
1.普通函式 寫成箭頭函式 普通函式列印出來是undefined import react from react import reactdom from react dom import index.css class header extends react.component btnclick...
React基礎語法05 改變this指向的3種方法
使用this指向當前元件的三種方法 分別是在模板裡,在建構函式裡,在建構函式裡改變,推薦第三種,箭頭函式。定義的資料 this.state 方法 getdata 模板 第一種獲取資料的方法定義資料,建構函式 constructor 第二種改變this指向的方法 this.getmsg this.ge...
this指向 改變this指向
常見的this指向 常見的this指向 全域性下的this指向window 函式中的this,誰呼叫指向誰 建構函式中的this指向建構函式的物件 物件中的this預設指向當前物件 事件處理函式中this誰觸發指向誰 指向觸發事件的目標元素 定時器函式,this 指向 window 箭頭函式中沒有t...