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

什么时候在REACT中使用构造函数合适?

邵华皓
2023-03-14
问题内容

我了解OOP语言(例如C
++)中的构造函数的概念。但是,我不确定何时在REACT中使用构造函数。我确实了解JavaScript是面向对象的,但是我不确定构造器实际上是在“构造”什么。

呈现子组件时,子组件中是否需要构造函数?例如:

class App extends React.Component {
   constructor(props) {
      super(props);
      this.state = {
         items: [],
         error: null
      }
    }
    render () {
       return (
          <React.Fragment>
             <ChildComponent data={this.state.items}></ChildComponent>
          </React.Fragment>
       )
    }
}

为了简洁起见,我将简短示例。但是,为什么需要构造函数?您是否需要在子组件中使用一个构造函数来构造道具?

我的ES6知识很可能还没有达到标准。


问题答案:

如果您不初始化状态并且不绑定方法,则不需要为React组件实现构造函数。

在安装之前,会调用React组件的构造函数。在为React.Component子类实现构造函数时,应在其他任何语句之前调用super(props)。否则,this.props将在构造函数中未定义,这可能会导致错误。

通常,在React中,构造函数仅用于两个目的:

  • 通过将对象分配给this.state来初始化本地状态。
  • 将事件处理程序方法绑定到实例。

https://reactjs.org/docs/react-
component.html#constructor



 类似资料:
  • 何时在Spring中使用构造函数注入? 我听说,当您在使用组件之前必须拥有依赖类的实例时,构造函数注入特别有用。但这意味着什么? 有没有人可以用一些简单的例子来解释我以下的时刻: 使用构造函数注入有什么好处

  • 问题内容: 我见过两者可以互换使用。 两者的主要用例是什么?有优点/缺点吗?是更好的做法吗? 问题答案: 这两种方法不可互换。使用ES6类时,应在构造函数中初始化状态,并使用时定义方法。 请参阅有关ES6类的官方React文档。 相当于

  • 问题内容: 从文档中学习React 并遇到以下示例: 根据Mozilla的说法,super允许您在构造函数中使用。是否有其他原因可以单独使用(我知道也可以访问父类的方法),但是使用React时,是否还有其他仅通过自身调用的用例? 问题答案: 仅在具有构造函数的React组件内部被调用。例如,以下代码不需要超级: 但是,如果我们有一个构造函数,那么它是强制性的: 之所以不能被允许之前的原因是因为未调

  • 问题内容: 假设我有 什么时候初始化?之前,之后,取决于? 如果我有一个与的全局定义冲突的构造函数,例如在上面的第三个构造函数中,该怎么办?取哪个值? 这不会给我造成任何问题,但我只是想更好地理解该语言。我喜欢了解这些小知识,以便以后可以潜在地利用它们。 问题答案: 变量被初始化为其类型的默认值(0,null等) 首先,调用超类构造函数。如果超类构造函数调用任何在该类中重写的虚拟方法,则该重写将看

  • 问题内容: 嗨,我想知道何时才是使用htmlspecialchars()的适当位置。是在将数据插入数据库之前还是从数据库中检索数据时? 问题答案: 仅在将数据回显为HTML时才应调用此方法。 不要将转义的HTML存储在数据库中;它只会使查询更烦人。 数据库应存储您的实际数据,而不是其HTML表示形式。

  • 本文向大家介绍在React中什么时候使用箭头函数更方便呢?相关面试题,主要包含被问及在React中什么时候使用箭头函数更方便呢?时的应答技巧和注意事项,需要的朋友参考一下 We can use it in class components, so we don't need to bind the again, we can use this inside arrow function trans