在redux中更新对象数组

时间:2017-06-08 20:57:57

标签: javascript ecmascript-6 redux react-redux

初始状态如下:

const INITIAL_STATE = {
    myArray: []
};

现在在我的reducer中,我想在现有数组中附加一个新对象。 我想出了类似的东西,但它没有按预期工作。

    case ADD_TO_ARRAY:
        return {
            ...state,
            myArray: [...state[ { action.payload.key: action.payload.value} ]]
        };

注意:我想使用动作有效负载中传递的键和值在线创建一个新对象。

1 个答案:

答案 0 :(得分:4)

使用ES6,您可以拥有动态计算的对象键
只需在方括号[]

中添加要评估的变量
case ADD_TO_ARRAY:
  return {
    ...state,
    myArray: [...state.myArray, [ { [action.payload.key]: action.payload.value} ]]
};