使用“createReducer”创建reducer并使用“on”处理操作时如何处理默认情况?

问题描述 投票:0回答:1

这就是我们在引入

createReducer
辅助方法之前创建减速器的方式:

export function reducer(state: AppState, action: Action) {
 switch (action.type) {
   case "[Category List] Add Category":
         return { ...state, categories: [...state.categories, action.payload] };
   default:
     return baseReducer;
 }
}

默认情况将处理所有模块通用的其余操作。

export function baseReducer(state, action){
 //... COMMON CASES
}

使用helper,上面可以写成:

export const reducer = createReducer(
  initialState,
  on(addCategoryRequest, (state, { payload }) => {
     return { 
      ...state, 
      categories: payload
   };
   //WHAT ABOUT THE 'default case'
 }
}

如何处理默认类型?

typescript ngrx
1个回答
0
投票

createReducer
不支持默认情况。 一种选择是创建一个包装
createReducer
的元缩减器。

© www.soinside.com 2019 - 2024. All rights reserved.