我有一个小应用程序,正在用作客户端演示,但仅使用一个reducer时遇到了麻烦。我的AppModule
的摘录如下:
export function rootReducerFactory() {
return reducer;
}
@NgModule({
imports: [
StoreModule.forRoot({}, {
reducerFactory: rootReducerFactory
})
// other imports
],
declarations: [
// some declarations
],
providers: [
// some providers
]
})
export class WeatherModule { }
当我的减速器签名如下所示时,这可以按预期工作:
export function reducer( state: State = initialState, action: WeatherActionsUnion )
{
// reducer code
}
但是,如果我尝试强类型化化简器的返回值,就像这样:
export function reducer( state: State = initialState, action: WeatherActionsUnion ): State
{
// reducer code
}
...,我需要做的是,出现编译时错误:
错误TS2345:类型'{}'的参数不能分配给类型'ActionReducerMap |的参数。注入令牌
...与我正在进行的StoreModule.forRoot()
通话有关。我在做什么错了?
我确实尝试过:
StoreModule.forRoot({
reducerFactory: rootReducerFactory
})
...并且尽管在编译时不再有错误,但reducer不会被调用。