如何理解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()就好了方法

相关文章
相关标签/搜索