我对NGRX存储有疑问,并将其提供给组件。
目前,我的应用程序架构如下:
app.module-> StoreModule.forRoot(reducers, {metaReducers})
export interface AppState {
user: User.State;
}
export const reducers: ActionReducerMap<AppState> = {
user: userReducer,
};
其他功能模块-> StoreModule.forFeature('feature', featureReducers),
在这种方法下,一切工作正常,我可以为以下组件提供存储:
constructor(
private store: Store<AppState>,
) {}
现在,我想停止使用默认的AppState。我想删除app.module中的forRoot
并仅将功能模块与forFeature
一起使用。
在这种情况下,如何提供“存储到组件”?我应该将什么传递给Store<???>
?
答案 0 :(得分:0)
存储区始终包含整个状态对象。注入商店时,泛型仅用于类型检查/安全性。换句话说,您可以执行以下操作:
constructor(
private store: Store<FeatureState>,
) {}
此外,请确保将forRoot
导入保留在AppModule
中,在应用程序中需要一次以内部连接NgRx。在执行此操作时,您可以传递一个空的reducer对象。
StoreModule.forRoot({}, [])