使用 Immutable.js 的动态键

Dynamic keys using 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 翻译使用一组未确定的键更新状态,其中键将根据访问的类别命名。谢谢

据我了解,来自 Immutable 的 Map 对您来说很有用

const initalState = Immutable.Map();

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