Angular NullInjectorError:没有ReducerManager的提供程序
我正在使用新的ngrx 5。这是保存减速器和特征选择器的文件:Angular NullInjectorError:没有ReducerManager的提供程序,angular,ngrx-store,ngrx-store-4.0,Angular,Ngrx Store,Ngrx Store 4.0,我正在使用新的ngrx 5。这是保存减速器和特征选择器的文件: import AppState from '../interfaces/app.state' import { ActionReducerMap, createFeatureSelector } from '@ngrx/store' import { partnerReducer } from './partner.reducer' export const reducers: ActionReducerMap<AppSta
import AppState from '../interfaces/app.state'
import { ActionReducerMap, createFeatureSelector } from '@ngrx/store'
import { partnerReducer } from './partner.reducer'
export const reducers: ActionReducerMap<AppState> = {
partnerState: partnerReducer
}
export const getAppState = createFeatureSelector<AppState>('appState')
我遵循了教程
当我运行应用程序时,出现以下错误:
"StaticInjectorError(AppModule)[StoreFeatureModule -> ReducerManager]:
\n StaticInjectorError(Platform: core)[StoreFeatureModule -> ReducerManager]:
\n NullInjectorError: No provider for ReducerManager!"
但如果我在提供程序中提供了ReducerManager,则会出现以下错误:
No provider for ReducerManagerDispatcher!
通过在导入中添加
StoreModule.forRoot({}),
解决了这个问题
StoreModule.forRoot只应在项目模块的根目录中调用一次。如果不想注册功能,请使用StoreModule.forFeature。使用forRoot注册存储所需的全局提供程序
查看github对此问题的讨论。上述原因在同一次讨论中陈述了我遇到了同样的问题,我找到了这个解决方案
imports: [
StoreModule.forRoot({}),
StoreModule.forFeature('filter-app', filterReducer)
]
您是否将ReducerManager添加到app.module中的提供程序?是的,然后我得到了ReducerManager的否提供程序!错误这与下面的答案相同。谢谢
imports: [
StoreModule.forRoot({}),
StoreModule.forFeature('filter-app', filterReducer)
]