React - 如何在不同的状态中设置相同的值并使它们以不同的方式工作

时间:2017-07-14 08:35:39

标签: reactjs state setstate

我在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时,ab都会一起更改。为什么会这样?

1 个答案:

答案 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的状态:)