Redux-将项目添加到嵌套数组

时间:2019-05-16 10:33:43

标签: redux redux-actions

我试图在redux中将元素添加到嵌套数组中,并且在reducer上遇到一些麻烦。

这里是我所拥有的:

default state: 

    const defaultPlotContainer = {
      id: shortid.generate(),
      nodes: [],              
      series: [],             
      settings: {
        ...defaultPlotSettings,
      },
    };

    const defaultState = {
      plotRows: [defaultPlotContainer], 
    };

我想在绘图中添加“节点”(字符串ID)(这意味着添加到“节点”数组。因此结构是对象数组,并且对象具有字符串数组。

我正在使用'redux-actions'库,如下所示:

    export default handleActions(
    {
       [actions.addNodeToPlot]: (state, { payload }) => {
         const index = state.plotRows.findIndex(x => x.id === payload.rowId);

         return {
          ...state,
          plotRows: [
            ...state.plotRows,
            [index]: {
              ...state.plotRows[index],
              nodes: [
                ...state.plotRows[index].nodes,
                payload.node
              ]
            },
          ],
        };
      },
    }, defaultState);

我在'[index]:'上遇到解析错误。 任何帮助表示赞赏。

0 个答案:

没有答案