我正在使用react js。我需要解决我面临的一个问题-我想在构造函数中为this.state属性设置条件值。
以下是构造函数代码-
constructor(props) {
super(props)
this.state = {
A: 0
}
}
我必须在条件的基础上设置这个.state属性(A)的值。如下图所示-
if (a !== null && a !== 'undefined') {
this.setState({ ...this.state, A: a })
}
else if (b !== null && b !== 'undefined') {
this.setState({ ...this.state, A: b })
}
所以我的问题是,我们如何在条件的基础上设置this.state属性,或者是否有任何生命周期挂钩可以设置状态值。但这些值应该在仅加载页面时更新,而不是在页面加载后更新。
比如,我尝试了ComponentDidMount()钩子,但它没有在页面加载时设置状态值。
注意:这里有一种可能性,上面的if-else条件都可以为false。在这种情况下,状态值可以为空/null/0。
您可以简单地检查何时设置状态对吗?
this.state = { A: a !== null && a !== 'undefined' ? a : 0, B: b !== null && b !== 'undefined' ? b : 0 }
这个或更简单的东西this.state= {A: a ?? 0, B b ?? 0 }