何时在 React 组件中使用构造函数?

IT技术 javascript reactjs ecmascript-6
2021-05-17 23:31:16

我总是写 React 代码,尤其是在 ES6 类中。但我的问题是,我们什么时候constructor(props)在 React 组件中使用constructor(props)条线是否与组件及其props的渲染有关?

1个回答

接受的答案是不正确的(也许只是误用了“渲染”这个词)。

正如我在我的评论中所解释的, React 组件的构造函数在第一次安装或实例化组件时执行。在后续渲染中永远不会再次调用它。

通常构造函数用于设置组件的内部state,例如:

constructor () {
  super()
  this.state = {
    // internal state
  }
}

或者,如果您有可用的类属性语法(例如通过 Babel),如果您使用的只是初始化状态,则可以放弃声明构造函数:

class Example extends React.Component {
  state = {
    // internal state
  }
}

构造函数(props)行是否与组件及其props的渲染有关?

构造函数不直接规定组件呈现的内容。

组件呈现的内容由其render方法的返回值定义