Как расширить логику С 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, позволяющий изменить настраиваемое поле?
ОБНОВЛЕНИЕ: Один из возможных обходных путей, который я вижу, - это создать отдельную функцию в хранилище для хлебных крошек, сохраняя чистоту функции состояния маршрутизатора,Это потребовало бы новой функции, чтобы уменьшить действия маршрутизатора. На мой взгляд, это взломать хотя. Кажется нелогичным, что состояние маршрутизатора позволяет расширять состояние с помощью дополнительных полей, но не редуктора