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