我有一个称为动物的特征缩减器(slice reducer)。我想将这些减速器拆分为哺乳动物,鸟类,鱼类等。这部分很容易,因为我可以简单地使用ActionReducerMap
。
现在让我们说哺乳动物的减速器状态非常巨大,我想将其拆分为几个较小的减速器,即猫科,狗科等。ActionReducerMap不会返回减速器且不可嵌套。我尝试在网络上搜索解决方案或示例,但找不到。简而言之,我的问题是如何制作多层嵌套的减速器。
export interface AnimalsState{
mammals: fromMammals.mammalsState;
birds: fromBirds.birdsState;
}
export const reducers: ActionReducerMap<AnimalsState> = {
mammals: fromMammals.reducer,
birds: fromBirds.reducer
};
我想将哺乳动物的减速器分成较小的减速器。
答案 0 :(得分:1)
您可以使用@ngrx/store
中的combineReducers函数来组成新的异径管,这将使您可以将dogs
和cats
异径管组合成{{1 }}状态。
我简单介绍了如何在stackblitz上使用它。
mammals
函数的示例可以在app/store/mammals/mammals.reducer.ts
中找到:
combineReducers