2017-10-21 156 views
0

我试图通过功能模块(使用ngrx docs)编写状态时注入功能减速器如何在getReducers()中返回reducer的映射:ActionReducerMap <fromFeature.State>?

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'); 

我应该回到这里吗?

export function getReducers(): ActionReducerMap<fromFeature.State> { 
    // map of reducers 
    return { 

    }; 
} 

我试图

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

但它给错误对象文本只能指定已知特性

的模块代码的其余部分:

@NgModule({ 
    imports: [ 
    StoreModule.forFeature('feature', FEATURE_REDUCER_TOKEN), 
    ], 
    providers: [ 
    { 
     provide: FEATURE_REDUCER_TOKEN, 
     useFactory: getReducers 
    } 
    ] 
}) 
export class FeatureModule { } 
+0

您打算根据功能有多个'StoreModule'吗? – Aravind

+0

我有自己的减速器的多个功能。 –

回答

1

我认为各减速机,不管是根或特征减速器,返回一个新的状态对象。但事实并非如此。 Reducer具有什么功能,它只返回它更新的状态段。

ngrx/platform/example-app

我们对待每一个减速就像在一个数据库中的表。这意味着我们的 顶级状态接口只是内部状态类型的键映射。

相关问题