如何在react中的Constructor中以条件为基础设置状态值



我正在使用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 }

最新更新