@ ngrx / store: странная ошибка при использовании одного редуктора - PullRequest
0 голосов
/ 25 июня 2018

У меня есть небольшое приложение, которое я использую в качестве демонстрации для клиента, но у меня возникают проблемы с использованием только одного редуктора.Выдержка из моего 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 |InjectionToken

... который относится к StoreModule.forRoot() звонку, который я делаю.Что я делаю не так?

Я пробовал это:

StoreModule.forRoot({
  reducerFactory: rootReducerFactory
})

... и хотя во время компиляции больше нет ошибок, редуктор не вызывается.

...