2016-08-13 5 views
0

特定の要素(チェックボックス)の状態を設定して、後でこのデータを親コンポーネントに戻してJSONオブジェクトを更新できるようにしようとしています。上位レベルの要素の状態を設定できますが、ネストされた値にアクセスする方法を理解していません。ReactJS - .setStateを使用してネストされた値を変更する

どのようにして.setStateを使用して特定の要素の状態を設定しますか?このような

this.state.data[0].checkedとして私は、現時点ではdataを更新してしまう。このようなもので状態を設定しようとしている:あなたはimmutability helpersを使用することができますように

handleChange: function(event) { 
    this.setState({data: event.target.value}}); 
    }, 
+0

あなたには、いくつかのコードを共有するだろうか? –

答えて

1

に見え、あなたが使用している場合数値/動的キーを使用すると、私のquestion hereを見てください。

handleChange: function(index, event) { 
    var data = React.addons.update(this.state.data, { 
    [index]: { 
    checked: {$set: event.target.checked} 
    } 
    }); 
    this.setState({ 
    data: data 
    }) 
}, 

はお知らせブール状態ではなく、チェックボックスに関連付けられた値を取得するためのチェックボックスのためのe.target.checkedなくe.target.valueの使用を:

あなたのソリューションは、次のようになります。

これは、あなたが事前に設定する必要があると思い、私のインデックスを使用して機能を添付したい方法です:

onChange={this.handleChange.bind(this, i)} 
+0

これはまさに私が探していたものです。あなたのポストをいくつかの小さな構文編集で更新し、最後にそのカンマをスローして幸せにする必要がありました。ありがとう! – NightMarcher

関連する問題