使用Immutable.js的动态密钥

时间:2016-01-14 21:53:08

标签: javascript redux immutable.js

我正在使用Redux,但没有React来提供一些上下文。我有一种情况,我想存储一些用户访问过的页面的数据,但似乎我需要在reducer中设置任何新状态之前设置我的模式。

function reducer(state, action) {
    switch(action.type) {
        case STORE_CATEGORY:
            return Object.assign(
                {}, state,{
                    [action.category] : {
                        pages: [],
                        filters: {}
                    }
                }
            );
    }
}

上面的函数有效,但我想使用immutable.js转换使用未确定的键集更新状态,其中键将在访问的类别后命名。感谢。

1 个答案:

答案 0 :(得分:1)

据我了解,来自Immutable的Map对您有好处

const initalState = Immutable.Map();

function reducer(state = initalState, action) {
  switch(action.type) {
    case STORE_CATEGORY:
      return state.set(action.category, {
        pages: [],
        filters: {}
      });
  }
}