首页 > 解决方案 > Redux 将元素分配给处于状态中的嵌套对象,并给出其键

问题描述

给出一个看起来像这样的状态树:

machines:{
    "first_machine" : {},
    "second_machine" : {options:[], packages[]},
}

如何在 Reducer 中将“选项”和“包”分配给给定的“机器名称”(所有机器名称都存在于状态树中,我只需要访问其键与 payload.machineName 匹配并分配给的那个)它)?这是动作创建者:

export const submitconfigMachine = (machineName, options, packages) =>({
    type: CONFIG_MACHINE,
    payload: {machineName, options, packages}
});

标签: reactjsredux

解决方案


const { machineName, ...data } = action.payload;
return {
  ...state,
  machines: {
    ...state.machines,
    [machineName]: data,
  },
};

推荐阅读