2017-08-10 9 views
0

setStateにアップデータの名前を渡す方法はありますか?私は、私で状態を更新したいReact - setStateはアップデータ名にデータを渡します

enter image description here

をrecives各data.valueのための関数を作成したくないので、このコード:

methodSelected = (event, data) => { 
    data.checked 
     ? this.setState(() => { 
       return { data.value: true }; 
      }) 
     : this.setState(() => { 
       return { data.value: false }; 
      }); 
}; 

はこのようなものかもしれません:

methodSelected = (event, data) => { 
    data.checked 
     ? this.setState(() => { 
       return { email: true };  <<<<<< email it's data.value 
      }) 
     : this.setState(() => { 
       return { email: false }; <<<<<< email it's data.value 
      }); 
}; 

setStateを使用すると可能です。私はそれを行うことができる反応を持つ別の関数ですか?

+1

https://developer.mozilla.org/en/docs/を参照してください。 Web/JavaScript/Reference/Operators/Object_initializerとctrl + f "計算されたプロパティ" – Misiur

+0

'return {data.value:false};'は実際にはコンパイルエラーです。あなたは何を望みますか? –

+0

@ミシールそれを評価して解決した答えのように投稿してください。ありがとうございました – Gil

答えて

3

私は右理解していれば、あなたが変数としてオブジェクトにキーを渡したい:

methodSelected = (event, data) => { 
    data.checked 
     ? this.setState({[data.value] : true}) 
     : this.setState({{[data.value] : false}}); 
}; 

または

methodSelected = (event, data) => {  
    this.setState({[data.value] : data.checked}) 
}; 
関連する問題