@ ngrx / store:使用单个reducer时出现奇怪的错误

时间:2018-06-25 17:15:29

标签: angular typescript redux ngrx-store

我有一个小应用程序,正在用作客户端演示,但仅使用一个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不会被调用。

0 个答案:

没有答案