在React构造函数中调用super()有什么作用?

文档中学习React 并遇到以下示例:

class Square extends React.Component {
  constructor() {
    super();
    this.state = {
      value: null,
    };
  }
  ...
}

根据Mozilla的说法,super允许您this在构造函数中使用是否有其他原因可以单独使用super(我知道super您也可以访问父类的方法),但是使用React时,是否还有其他单独使用的用例super()

SamStafan十三2020/03/18 17:06:48

要使用this关键字,我们应该在super关键字之前使用它。为什么?super用于调用父类的constructor

现在为什么我们需要打电话给父母的constructor答案是初始化我们通过this关键字引用的属性值

L神乐2020/03/18 17:06:48

在实现的构造函数时React.Component subclass,应先调用super(props)其他语句。否则,this.propsundefined在构造函数中,这可能导致错误。

Eva神乐2020/03/18 17:06:48

值得补充的super()是超类构造器的缩写,继承的概念

默认情况下,该类Square从其超继承构造函数React.Component

可以通过声明新constructor()方法来覆盖继承的构造函数

如果要扩展而不是覆盖超类构造函数,则必须使用显式调用它super()