首页 > 解决方案 > 如何在 ngrx/router-store 上添加另一个状态?

问题描述

我有一个如下定义的根级路由器存储。

export interface RouterStateUrl {
  url: string;
  queryParams: Params;
  params: Params;
}

export interface State {
  routerReducer: RouterReducerState<RouterStateUrl>;
  // init: fromInit.InitState;
}

export const reducers: ActionReducerMap<State> = {
  routerReducer: routerReducer,
  // initReducer: fromInit.reducer
};

export const getRouterState = createFeatureSelector<
  RouterReducerState<RouterStateUrl> 
>("routerReducer");

我正在尝试添加一个额外的状态init,称为我想与路由器状态一起跟踪的状态。如何创建一个也可以访问初始化状态的功能选择器?换句话说,如何创建一个没有类型绑定到 RouterReducerState 的特征选择器?

标签: angularngrxngrx-storengrx-store-4.0ngrx-router-store

解决方案


就像您对路由器所做的那样:

export interface State {
  routerReducer: RouterReducerState<RouterStateUrl>;
  initReducer: fromInit.State;
}

export const reducers: ActionReducerMap<State> = {
  routerReducer: routerReducer,
  initReducer: fromInit.reducer
};

export const getRouterState = createFeatureSelector<
  RouterReducerState<RouterStateUrl> 
>("routerReducer");

export const getInitState = createFeatureSelector<
  fromInit.State 
>("initReducer");

推荐阅读