2016-11-27 12 views
0

ReactJSの可変キー名をsetStateに渡す正しい方法は何ですか?私はそれが動作しますが、私自身は、一時的なマップのゲームをプレイするために持っラプログラムで生成された反応状態のキー名

removeLookup(idx) { 
    let lookupPrefix = this.composeKeys(Editor.fooDefinition, "lookups"); 
    let arraySizeKey = this.composeKeys(lookupPrefix, Editor.arrayLengthKey); 
    let lookupCount = this.state[arraySizeKey]; 

    let newState = new Map(); 
    newState[arraySizeKey] = lookupCount - 1; 
    newState[this.composeKeys(lookupPrefix, Editor.isDeletedKey)] = true; 

    this.setState(newState); 
} 

を見つけるんだけど、私はむしろちょうど特に私が唯一の例では、代わりに先行マップを作成するので、各修正でsetStateを呼びたいですそのような変更が1つあります。キー文字列の配列ではなく、文字列を作る

答えて

0
You don't have to use map you acn use just an obj. 

var _state = {}; 
_state[arraySizeKey] = lookupCount - 1; 
_state[this.composeKeys(lookupPrefix, Editor.isDeletedKey)] = true; 
this.setState(_state); 

しかし、私は以下のだと思うあなたは、変数名を書くことができます必要なものをされて[...]

this.setState({ 
    [arraySizeKey]: lookupCount - 1, 
    [this.composeKeys(lookupPrefix, Editor.isDeletedKey)]:true 
    }); 
+0

。注意してください:地図。 – kolosy

関連する問題