使用NgRx进行状态分组功能失效,Redux DevTools中状态展示为空
问题原因
ActionReducerMap要求每个属性对应的值必须是合法的reducer函数,你当前定义的adminReducer是普通的子reducer映射对象,没有经过合并处理,NgRx无法正确解析admin分支的状态,因此Redux DevTools中该分支展示为空。你给adminReducer标注的any类型也隐藏了类型不匹配的编译错误,没有提前暴露问题。
解决方案
从@ngrx/store导入combineReducers方法,将admin下的子reducer合并为一个合法的reducer函数即可,修改后的Admin Reducer代码如下:
import { combineReducers } from '@ngrx/store'; import { AdminState } from './你的状态定义文件路径'; export const adminReducer = combineReducers<AdminState>({ productCategory: ProductCategoryReducer, productVendor: ProductVendorReducer, productSubCategory: ProductSubCategoryReducer, products: ProductsReducer, product: ProductReducer, productDiscount: ProductDiscountReducer });
其余代码(根reducers定义、Store模块注册逻辑)无需修改,重新运行应用后即可在Redux DevTools中看到完整的状态树:
内容的提问来源于stack exchange,提问作者San Jaisy
相关产品推荐
相关产品推荐

