Estoy tratando de agrupar el estado.
Índice.ts
export const reducers: ActionReducerMap<ApplicationState> = { admin: adminReducer }; export const metaReducers: MetaReducer<ApplicationState>[] = [];Reductor de administración
export const adminReducer: any = { productCategory: ProductCategoryReducer, productVendor: ProductVendorReducer, productSubCategory: ProductSubCategoryReducer, products: ProductsReducer, product: ProductReducer, productDiscount: ProductDiscountReducer };Cuando ejecuto la aplicación, en la herramienta redux, no puedo ver el estado. esta en blanco
export interface ApplicationState { admin: AdminState } export interface AdminState { productCategory: ProductCategoryState; productVendor: VendorState; productSubCategory: ProductSubCategoryState; products: ProductsState; product: ProductState; productDiscount: ProductDiscountState }Registro
imports: [ StoreModule.forRoot(reducers, { metaReducers }), EffectsModule.forRoot([]), StoreDevtoolsModule.instrument({ maxAge: 25 }) ]El Reducer es una "función que toma una Action y un State , y devuelve un State " , no un objeto, por lo que no puede agrupar los reductores entre sí simplemente creando un objeto que los contenga.
Gracias por la función NgRx de NgRx , que proporciona una forma de combinar varios estados y devuelve el reducer combinado como una función (con argumentos de state y action ) que maneja los cambios de los subestados y devuelve el estado combinado.
Entonces, simplemente puede combinar los reductores usando combineReducers como el siguiente:
export const adminReducer = combineReducers({ productCategory: ProductCategoryReducer, productVendor: ProductVendorReducer, productSubCategory: ProductSubCategoryReducer, products: ProductsReducer, product: ProductReducer, productDiscount: ProductDiscountReducer, });Usando los combineReducers logré eso
export const adminReducer = combineReducers({ productCategory: ProductCategoryReducer, productVendor: ProductVendorReducer, productSubCategory: ProductSubCategoryReducer, products: ProductsReducer, product: ProductReducer, productDiscount: ProductDiscountReducer });