如何使用 Angular 8、ngrx 8 扩展逻辑我使用自定义序列化程序保持路由器状态
export class CustomSerializer implements RouterStateSerializer<RouterStateUrl>
自定义状态在哪里
export interface RouterStateUrl {
url: string;
path?: string[];
params: Params;
queryParams: Params;
breadcrumbs: Breadcrumb[];
} 添加一个新字段 -breadcrumbs
对于整个商店,我有一个这样的减速器映射:
export interface State {
router: fromRouter.RouterReducerState<any>;
//... other feature states
}
export const reducers: ActionReducerMap<State> = {
router: fromRouter.routerReducer,
// ...other feature reducers
};
我想操纵我的路由器状态的自定义部分(面包屑字段)。是否有一种标准方法可以扩展 routerReducer 以允许更改自定义字段?
更新:我看到的一种可能的解决方法是在商店中为面包屑创建一个单独的功能,保持路由器状态功能的纯净。这将需要新功能来减少路由器操作。在我看来,这是一个 hack。路由器状态允许使用额外字段扩展状态似乎不合逻辑,但减速器不允许