如何以正确的方式进行结构化?

时间:2016-11-13 21:17:40

标签: javascript reactjs redux

我想知道如何使用spread运算符以正确的方式返回带有fetched数组的状态。

所以这是我的减速机:

function themes(state = [], actions){
  switch(actions.type){
    case FETCH_THEMES_SUCCESSFULLY:
      const { themes } = actions.theme;
      return {
        ...state,
        ...themes
      }
    default :
      return state;
  }
};

操作包含名为array的{​​{1}}。但是当提取themes时,themes看起来像是:

props代替{ themes: { themes: [...]} }

我做错了什么?

2 个答案:

答案 0 :(得分:0)

actions.theme已经是您的[…];你不需要进一步去构造它。将const { themes } = actions.theme替换为const themes = actions.theme可以获得您正在寻找的形状。

或者,const { themes } = actions;也可以。但并非两者都解构访问actions.theme

答案 1 :(得分:0)

试试这个。从themes解构actions并将其与state

一起返回
function themes(state = [], actions){
  switch(actions.type){
    case FETCH_THEMES_SUCCESSFULLY:
      const { themes } = actions;
      return {
        ...state,
        themes
      }
    default :
      return state;
  }
};