我遇到的问题是我的应用程序没有调度某些操作或在调度操作时没有调用某些效果(请参阅从组件调度操作时未调用ngrx效果).
我想知道如何调试ngrx存储,动作和效果.
由于ngrx的打字稿来源在我的环境中不可用(似乎只有类型可用),还有其他方法可以知道商店和效果中发生了什么吗?
PS 似乎开发商店工具只允许查看减速器引起的变化.
正如您所发现的,redux devtools 扩展也是监控 ngrx 中存储活动的便捷方法。但是,它记录所有已分派的操作,包括 ngrx 效果发出的操作,无论减速器是否对它们起作用以更新存储。如果您没有看到从效果中调度的操作,则可能是其他问题阻止了它们的调度。
一般来说,临时调试可观察链(包括 ngrx 效果和存储订阅)的一种简单方法是通过在.do()似乎不起作用的代码之前和/或之后的运算符。它不会干扰周围的代码流,并且允许您进行跟踪日志记录或添加断点以进行检查。
有些人将.do()日志记录封装在自定义运算符中,甚至尝试在.do()运算符之间自动插入以进行跟踪,以避免手动将它们写入各处。我喜欢保持简单,并且在调试特定块时手动临时插入它们并不是那么糟糕(恕我直言)。
| 归档时间: |
|
| 查看次数: |
1701 次 |
| 最近记录: |