用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()就行了