我总是编写React代码,特别是在ES6类中。但我的问题是,我们何时在React Components中使用constructor(props)
? constructor(props)
行是否与组件的渲染及其道具有关?
答案 0 :(得分:8)
接受的答案是错误的(可能只是滥用“渲染”一词)。
正如我在其评论中解释的那样,React组件的构造函数在第一次安装或实例化时执行。在后续渲染中永远不会再调用它。
通常,构造函数用于设置组件的内部state
,例如:
constructor () {
super()
this.state = {
// internal state
}
}
或者,如果你有类属性语法可用(例如via Babel),你可以放弃声明一个构造函数,如果你正在使用它是为了初始化状态:
class Example extends React.Component {
state = {
// internal state
}
}
构造函数(props)行是否与组件的渲染及其道具有关?
构造函数不直接指示组件呈现的内容。
组件呈现的内容由其render
方法的返回值定义。