我正在使用 Angular 5 + NgRx 开发应用程序。我安装了浏览器扩展 Redux DevTools(适用于 Chrome 和 Firefox)。但两个扩展都被禁用(图标为灰色且不显示商店历史记录)
我的应用程序有几个模块,它们是异步加载的。主 app.module.ts 包含此代码
StoreModule.forRoot({
user: userReducer
})
另一个模块有这个
StoreModule.forFeature('dashboard', dashboardReducer),
StoreModule.forFeature('globalSettings', globalSettingsReducer),
StoreModule.forFeature('userInfo', userSettingsReducer),
结果是 Redux DevTools 扩展被禁用。控制台中没有报告任何相关错误。我究竟做错了什么?我无法让它工作,我感到很沮丧。
当我把它改成这个(显然是错误的)代码时,有趣的是,DevTools 又开始工作了,但是其他的东西坏了(正如预期的那样)
StoreModule.forRoot({
'dashboard': dashboardReducer,
'globalSettings': globalSettingsReducer,
'userInfo': userSettingsReducer
}),
我确实需要 DevTools 才能工作,因为它可以帮助我更好地处理/可视化应用程序的当前状态。同样没有 Redux DevTools 和时间旅行调试,整个 Redux 方法在我看来就像编写太多样板文件。当工具生态系统工作时,它会很棒,但当它崩溃时,我所拥有的只是更多样板代码(reducers、actions 等)。
为什么 Redux DevTools 无法启动?为什么它不向控制台报告任何错误?如何让它再次工作?
PS:我没有使用 Redux DevTools 的 npm 包,我使用的是 @ngrx/store 提供的原始存储。它曾经工作正常,直到我添加了 .forFeature() 调用。
请指教