我想知道如何返回与reducer函数相同类型的对象:
function storeReducer(
state = INITIAL_APPLICATION_STATE,
action: Actions
): ApplicationState {
switch (action.type) {
case LOAD_USER_THREADS_ACTION:
return handleLoadUserThreadsAction(state, action);
default:
return state;
}
}
我希望对象的类型为 ApplicationState ,但是采用这种方法:
StoreModule.forRoot({storeReducer})
我正在用钥匙找东西
storeReducer:{ // object of type Application State}
我希望得到对象(没有附加的storeReducer键):
{//object of type Application State}
也尝试过StoreModule.forRoot(storeReducer)
,但后来我得到的是空对象,它不起作用。
答案 0 :(得分:0)
StoreModule上的forRoot方法需要使用ActionReducerMap,而不是化简器的结果。
我通常将我的文件放在一个单独的文件中,如下所示:
export interface IAppState {
aPieceOfState: IAPieceOfState;
}
export const reducers: ActionReducerMap<IAppState> = {
aPieceOfState: aPieceOfStateReducer
};
然后将其导入到app.module.ts中,并像这样使用它:
StoreModule.forRoot(reducers)