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

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

子類繼承父類的屬性:須要使用super()繼續父類的屬性,同時建立this(子類自己沒有this);函數

若是像上圖同樣須要定義props的屬性 this.props.xixi="哈哈",則須要用 super(props)this

若是不定義props的屬性,只定義狀態this.state ,就能夠直接super();對象

這是爲何呢?blog

其實很簡單,由於this.props必需要是一個對象,才能在它下面定義屬性繼承

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

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

因爲state下面沒有屬性,因此若是隻是定義state就能夠直接super()就好了方法

相關文章
相關標籤/搜索