当前位置: 首页 > 知识库问答 >
问题:

反应,为什么在ES6类构造函数内部使用超级(道具)?[重复]

丁嘉庆
2023-03-14

我意识到super关键字可以用来调用父组件中的函数。但是,我不完全清楚为什么在下面的示例中使用super关键字——只是将传递给构造函数的任何道具传递给它。

在react中,有人能解释一下在ES6类构造函数中使用super关键字的各种原因吗?

  constructor(props) {
    super(props);

    this.state = {
      course: Object.assign({}, this.props.course),
      errors: {   }
    };

    this.updateCourseState = this.updateCourseState.bind(this);
  }

共有1个答案

钱劲
2023-03-14

super允许您访问父类的构造函数方法。包含props的唯一原因是在构造函数中访问this.props。

使用es6类时,React中的“super()”和“super(props)”有什么区别?

 类似资料:
  • 问题内容: 我意识到super关键字可用于调用父组件中的函数。但是,我不清楚您为什么在下面的示例中使用super关键字-只是将传递给构造器的所有prop传递给它。 有人可以回应一下在ES6类构造函数中使用super关键字的各种原因吗? 问题答案: super允许您访问父类的构造方法。包含props的唯一原因是在构造函数内部访问this.props。 使用es6类时,React中的“ super()

  • 有人能告诉我为什么我们需要将道具传递给构造函数()和super()。我读了很多关于这方面的问题,也读了很多文章。所有人都说你应该把道具传给构造函数和super,这样你就可以访问这个道具了。。。。。 如果我不将道具传递给构造函数或super,我的所有代码仍然可以工作。我看不出这会有什么变化。除非我想控制台记录this.props,这可以通过控制台记录来实现。 另一方面,我与一半的开发人员交谈过,他们

  • 问题内容: 如果不可变的类对象副本将与原始副本相等,那么为什么Java 中的类具有副本构造函数?这是一个错误还是背后有原因?在Java文档中,指定了: 问题答案: 复制字符串的主要原因是为了 “修剪行李” ,即仅将底层char数组修剪为必需的字符。 基本的char数组可能太大,因为通过调用创建字符串时,char数组可以在新的字符串实例和源字符串实例之间共享;偏移量指向第一个字符,并且包括长度。 我

  • 我有以下2个类 然后运行 或 始终给予 为什么会出现这种情况?乍一看,在这两种场景中,我都假设只调用构造函数,因此唯一的输出是 但这显然是错误的。

  • 可能的重复: 为什么this()和super()必须是构造函数中的第一条语句? 为什么子类构造函数必须显式调用超类构造函数?这是什么原因呢?

  • 我目前正在学习Java的继承,我在理解它方面遇到了很大的困难,但是我不能理解的一个主要问题是为什么在下面的示例中有必要调用一个超类构造函数,它有什么帮助?此示例来自Oracle的方法教程。 我最初的想法是,会缩短当前构造函数中参数的代码,它只会接受父类中传入的值并将其添加到子类中(如下所示): 但是,正如我已经知道的那样,这是错误的,并且再次将我带到了真正做什么的问题上。我会非常感谢一些形式的解释