如何理解react中的super(),super(props)


用es6的class(類)的方法創建組件:

子類繼承父類的屬性:需要使用super()繼續父類的屬性,同時創建this(子類本身沒有this);

如果像上圖一樣需要定義props的屬性 this.props.xixi="哈哈",則需要用 super(props)

如果不定義props的屬性,只定義狀態this.state ,就可以直接super();

這是為什么呢?

其實很簡單,因為this.props必須要是一個對象,才能在它下面定義屬性

而constructor(props){}傳入的參數props為對象

所以super(props)的作用就是在父類的構造函數中給props賦值一個對象this.props=props這樣就能在它的下面定義你要用到的屬性了,然而其他的由於沒有傳參就直接賦值為undefind

由於state下面沒有屬性,所以如果只是定義state就可以直接super()就行了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM