https://www.cnblogs.com/faith3/p/9219446.html
ES6的继承机制:先创建父类的实例对象this,然后再用子类的构造函数修改this。所以必须先调用super()
有constructor钩子函数时候,Child类会多一个constructor方法,可以定义state.
如果组件要定义自己的state初始状态的话,需要写在constructor钩子函数中,一旦写了constructor,就必须在此函数中写super(),此时组件才有自己的this,在组件的全局中都可以使用this关键字,。
如果用户不使用state的话,纯用props接受参数,有没有constructor钩子函数都可以,可以不用constructor钩子函数。
class child extends components{
constructor(props){
super(props) //super它在这里表示父类的构造函数,用来新建父类的this对象。
}
}
classA{}
class B extends A{constructor(){super();}}
super虽然代表了父类A的构造函数,但是返回的是子类B的实例,即super内部的this指的是B的实例,因此super()在这里相当于A.prototype.constructor.call(this)。