2017-08-13 9 views
0

などのキーを更新し、私はとてもとして初期状態を持っている:再来のリデューサー - 私の現在の実装では数字

const state = { 
    1: {id: 1, status: false}, 
    2: {id: 2, status: false} 
} 

は私が更新したい場合は、正しく減速を実装する方法を苦労していますいずれかの項目のステータス。

私はそう次ています

export default function (state = initialState, action) { 
    switch (action.type) { 
    case UPDATE_TO_TRUE: { 
     const { itemID } = action; 
     let item = itemID.toString(); 
     return { 
     ...state, 
     item: { 
      status: true 
     } 
     } 
    } 
    default: { 
     return state; 
    } 

    } 
} 

基本的に私は右のキーを特定する方法を見つけ出すことはできません。扱いにくいのは、キーが数字として設定されていることです。

答えて

1

オブジェクトリテラルの定義で計算されたプロパティキーを使用してみてください:

return { 
    ...state, 
    [item]: { 
     id: item, 
     status: true 
    } 
    } 
+0

オールライト、私は眠りに行く...と恥の中を歩く必要があります – Alejandro

0

大括弧表記を使用して、アイテムにアクセスできます。これは、キーを文字列で表すことができる限り機能します。たとえば、

const state = { 
    1: {id: 1, status: false}, 
    2: {id: 2, status: false} 
}; 

console.log(state['2']); 

は、2番目の項目を返します。

関連する問題