2016-12-21 15 views
2

次の2つのタイプの設定状態の動作に混乱があります。どちらのタイプも詳しく教えてください。ここでは2次の2つのsetStateの違いは何ですか

testFunction2(value){ 
    this.setState({value}); 
} 

タイプ1

testFunction1(val){ 
    this.setState({value : val}); 
} 

タイプ、事前に

this.state={value:[]}; 

感謝。彼らは実際には同じsetState

答えて

3

は、第二1は、ちょうど変数名は、プロパティ名となるようなES6のshorthand property namesを使用し、変数の値は、プロパティの値になります:だからこの

var a = "foo", b = 42, c = {}; 
var o = { a, b, c }; // o => { a: "foo", b: 42, c: {} } 

testFunction2(value){ 
    this.setState({value}); 
} 

はこれに変換されます。

testFunction2(value){ 
    this.setState({ value: value }); 
} 
+0

が異なる結果を出していたのは、最初に状態を 'value:[{val:" test "} {val:" test2 "}]'として保存し、 ] –

+0

元の 'val'と' value'は何でしたか?どのように使ったのですか?あなたの質問にそれを加えてください。 –

+0

私はjade watsonの反応セレクトを使用していました。 onChange関数の最初の型を使ってみました。 –

関連する問題