在 redux 中更新对象数组

joh*_*ohn 0 javascript ecmascript-6 redux react-redux

初始状态如下所示:

const INITIAL_STATE = {
    myArray: []
};
Run Code Online (Sandbox Code Playgroud)

现在在我的减速器中,我想将一个新对象附加到现有数组中。我想出了这样的东西,但它没有按预期工作。

    case ADD_TO_ARRAY:
        return {
            ...state,
            myArray: [...state[ { action.payload.key: action.payload.value} ]]
        };
Run Code Online (Sandbox Code Playgroud)

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

elt*_*ami 5

使用 ES6,您可以动态计算对象键,
只需在方括号中添加一个要评估的变量[]

case ADD_TO_ARRAY:
  return {
    ...state,
    myArray: [...state.myArray, [ { [action.payload.key]: action.payload.value} ]]
};
Run Code Online (Sandbox Code Playgroud)