我试图在通过 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)
我认为每个reducer,无论是root还是feature reducer,都会返回一个新的状态对象。但实际上并没有。reducer 做什么功能,它只返回它更新的状态段。
我们将每个 reducer 视为数据库中的一张表。这意味着我们的顶级状态接口只是内部状态类型的键映射。
| 归档时间: |
|
| 查看次数: |
9959 次 |
| 最近记录: |