当前位置: 首页 > 面试题库 >

反应,为什么在ES6类构造函数中使用super(props)?[重复]

叶桐
2023-03-14
问题内容

我意识到super关键字可用于调用父组件中的函数。但是,我不清楚您为什么在下面的示例中使用super关键字-只是将传递给构造器的所有prop传递给它。

有人可以回应一下在ES6类构造函数中使用super关键字的各种原因吗?

  constructor(props) {
    super(props);

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

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

问题答案:

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

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



 类似资料:
  • 我意识到super关键字可以用来调用父组件中的函数。但是,我不完全清楚为什么在下面的示例中使用super关键字——只是将传递给构造函数的任何道具传递给它。 在react中,有人能解释一下在ES6类构造函数中使用super关键字的各种原因吗?

  • 我知道这个问题被问了很多次,但仍然不清楚。很多人刚才说, 如果您想访问,请将道具传递给构造函数 答案的另一个例子 Oficial doc说类组件应该始终使用props调用基构造函数,但如果我们不将传递给,我们仍然会将放在除构造函数之外的所有地方。 同样从react源代码中,我们可以看到react.Component 但这更让我困惑应使用两个参数调用:和。但是我们调用了super-empty,仍然可

  • 问题内容: 当是重要的传球到了,为什么? 问题答案: 只有一种原因需要传递给: 当您要在构造函数中访问时。 通过: 未通过: 注意,通过或不通过,以有 没有影响 对以后的用途之外。也就是说,或事件处理程序 始终 可以访问它。 这是索菲·阿尔珀特(Sophie Alpert)对类似问题的回答中明确指出的。 建议使用“ 状态和生命周期,将本地状态添加到类,第2点”中的文档: 类组件应始终使用调用基本构

  • 问题内容: 我正在处理一个扩展的类。 这不是我的代码,它在开始构造GUI之前先进行调用。我想知道为什么要这样做,因为我一直只访问超类的方法而不必调用; 问题答案: 对于具有父级的所有类(这是Java中每个用户定义的类),都有一个不带参数的隐式调用,因此通常不需要显式调用。但是,如果父级的构造函数接受参数,并且你希望指定它们,则可以使用参数调用。此外,如果父级的构造函数接受参数,并且没有默认的无参数

  • 问题内容: 代码是什么 在构造函数内部吗? 例如,这是我的课程的构造函数 它和超类有关吗? 问题答案: 它调用父类的构造函数

  • 问题内容: 假设我有以下课程: 我想知道是否传递以下构造函数很重要: 我当前的代码工作正常,但是我想知道这是否是一个好习惯。 问题答案: 根据React团队的Ben Alpert的说法,如果您打算在构造函数内部使用,则仅需要将prop传递给构造函数。调用构造函数后,React从外部将props附加到组件。