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

时间:2016-08-02 05:40:45

标签: javascript reactjs ecmascript-6

我总是编写React代码,特别是在ES6类中。但我的问题是,我们何时在React Components中使用constructor(props)constructor(props)行是否与组件的渲染及其道具有关?

1 个答案:

答案 0 :(得分:8)

接受的答案是错误的(可能只是滥用“渲染”一词)。

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

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

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

或者,如果你有类属性语法可用(例如via Babel),你可以放弃声明一个构造函数,如果你正在使用它是为了初始化状态:

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

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

构造函数不直接指示组件呈现的内容。

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