react中类组件this指向
生活随笔
收集整理的這篇文章主要介紹了
react中类组件this指向
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這是一個標準的類組件
import React,{Component} from 'react'; class View extends Component{constructor(props){super(props)}state={} //寫在這里跟寫在constructor中一樣,都可以起到初始化的效果,并且可以省去thisfn(){}fn1(){}render(){return(<div><button onClick={this.fn}>按鈕</button><ul>{this.fn1()}</ul></div>) } }接下來是this指向的問題
主要分三個模塊:
-
constructor:this指向new生成的實例,這里也就是我們的View組件了
-
render():this指向也是組件實例View
-
方法:
fn(): this指向是undefind fn1(): this指向是組件實例
為什么fn()的指向是undefined?
分析:
1、我們知道調用都是有()的,所以這里只是把onClick指向堆中的fn,調用時也就沒有實例————所以this會指向window
2、使用babel編譯后就是嚴格模式(嚴格模式下this不能指向window),所以this就會變為undefined
改變方法this指向的4種方法
會在實例的屬性中添加一個fn屬性,指向改變this指向之后的fn(),原型鏈的的fn()并無變化。
使用bind是因為不會自執行,而call,apply都會自執行
箭頭函數this指向特性
總結
以上是生活随笔為你收集整理的react中类组件this指向的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 张掖回昌吉回族自治州车师古道要多久
- 下一篇: 云漫圈 | 我觉得我的手机被监听了。。。