我在React中使用状态,我遇到了麻烦。
在componentWillMount
中,我在两个状态下设置相同的值。如下所示,
let value = this.props.value;
this.setState({
a: value,
b: value,
})
设置状态后,我更改a
,如下所示,
let a = this.state.a;
a = newValue;
this.setState({
a,
)}
当我尝试更改状态a
时,a
和b
都会一起更改。为什么会这样?
答案 0 :(得分:0)
因为你一次为2状态做了 SetState 。你应该写:
//function a to setState for state a:
a = () =>{
this.setState(a: this.props.value)
}
//function b to setState for state b:
b = () =>{
this.setState(b: this.props.value)
}
所以你可以轻松调用改变a或b的状态:)