如何在 getReducers(): ActionReducerMap<fromFeature.State> 中返回减速器的映射?

vul*_*ulp 8 ngrx ngrx-store

我试图在通过 NgRx 功能模块组合状态时注入功能减少器。

import { NgModule, InjectionToken } from '@angular/core';
import { StoreModule, ActionReducerMap } from '@ngrx/store';

import * as fromFeature from './reducers';

export const FEATURE_REDUCER_TOKEN = new InjectionToken<ActionReducerMap<fromFeature.State>>('Feature Reducers');
Run Code Online (Sandbox Code Playgroud)

我应该在这里返回什么?

export function getReducers(): ActionReducerMap<fromFeature.State> {
  // map of reducers
  return {
  
  };
}
Run Code Online (Sandbox Code Playgroud)

我试过

export function getReducers(): ActionReducerMap<fromFeature.State> {
      // map of reducers
      return {
          reducerA: FeatureAReducer
      };
    }
Run Code Online (Sandbox Code Playgroud)

但它给出了错误Object literal may only specified known properties

其余模块代码:

@NgModule({
  imports: [
    StoreModule.forFeature('feature', FEATURE_REDUCER_TOKEN),
  ],
  providers: [
    {
      provide: FEATURE_REDUCER_TOKEN,
      useFactory: getReducers
    }
  ]
})
export class FeatureModule { }
Run Code Online (Sandbox Code Playgroud)

vul*_*ulp 8

我认为每个reducer,无论是root还是feature reducer,都会返回一个新的状态对象。但实际上并没有。reducer 做什么功能,它只返回它更新的状态段。

ngrx/platform/example-app

我们将每个 reducer 视为数据库中的一张表。这意味着我们的顶级状态接口只是内部状态类型的键映射。