我正在用Ngrx构建angular 5应用程序以进行状态管理。
我正在尝试在状态树下构建,其中'Admin'是该功能,而库是Admin功能的一部分。在库中,我们可以有多个库,每个库都有自己的状态。
首先,我的以下状态是正确的归一化术语。我正在尝试构建具有应用程序结构的状态。 因此,我认为以同样的方式查看状态树也很容易。
现在,我为每个库创建了reducer。而且,如果我创建LibraryReducer Map,则可以指向每个库简化器。但是,当我构建管理员化简图时,由于它需要库具有化简功能(ActionReducerMap),所以无法构建它。我曾想过将此库简化器Map传递给AdminReducer,但它不接受。
您知道如何处理此嵌套状态结构吗?如果我要构建的状态树正确,那么如何解决ngrx面临的错误??
状态树:
{
UIState: {
..
},
AdminState: {
LibraryState: {
Library1: {},
Library2: {}
}
}
}
library.reducer.ts
LibraryState{
library1: Library1State,
library2: Library2State,
}
reducer: ActionReducerMap<LibraryState> = {
library1: library1Reducer;
library2: library2Reducer;
}
Admin.reducer.ts
AdminState {
library: LibraryState
}
reducer: ActionReducerMap<AdminState> = {
library: libraryReducers; // This is error. As ActionReducerMap expects only reducer function not reducer map.
}