2017-07-14 8 views
0

Reactで状態を使用していますが、問題があります。React - 異なる状態で同じ値を設定して別々に動作させる方法

componentWillMountには2つの状態で同じ値が設定されています。私は状態aを変更しようとすると以下のように、状態を設定した後

let value = this.props.value; 
this.setState({ 
    a: value, 
    b: value, 
}) 

が、私は以下のようにaを変更、

let a = this.state.a; 
a = newValue; 
this.setState({ 
    a, 
)} 

abの両方が一緒に変更されます。それはなぜ起こるのですか?

+1

どのように 'A'の状態を変更しているの状態を変更することができますか? – tomr

+1

これは起こってはいけません。あなたはおそらく何か間違っています。 – Chris

+0

反応の状態を変更するには状態を消去したり、新しい値を追加したりできます。私たちはしばしばその解決策を使用しますthis.state.a = value2; this.state.b = value3; – Karol

答えて

0

SetStateを一度に2つの状態で作成したためです。あなたは書く必要があります:

//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) 
     } 

をですから、簡単に呼び出しがまたはb :)

関連する問題