有时候所有this.states都是由单独的函数初始化而来的 Reactjs中的构造函数。我可以知道为什么吗?
例如:
class Articles extends React.Component {
constructor(props) {
super(props);
this.initializer();
}
initializer(){
this.state = {
selectedArticle: this.props.article[0],
showArticleDetails: true,
showArticleContent: false
};
}
}
之后this.initializer();
在我们需要的任何地方使用。
答案 0 :(得分:1)
这只是开发人员的偏好问题。状态可能已在构造函数()内初始化,但在这种情况下,开发人员已选择将初始化代码放在单独的函数中以便清楚。它具有相同的效果。
顺便说一句,你说'this.initializer()在我们需要的地方使用。'一旦从构造函数中调用initializer(),就不应该再次调用它。相反,你应该使用
this.setState({ newKey: newValue, ...})