我有一个使用NgRx 8.3.0的Angular 8应用程序
对于动作之一,我需要在效果之前执行化简,因为效果取决于还原状态。 NgRx是否保证该命令,或者有办法强制执行该命令?
答案 0 :(得分:7)
编辑:
在执行了该动作的所有减速器后,NgRx效果会触发。该顺序得到保证。还原状态是效果的有效负载。
在NgRx效果构建项目的lifecycle_hooks.d.ts
中找到了以下注释:
默认情况下,效果会合并并订阅到商店。实现OnRunEffects接口以控制已解决效果的生命周期。
https://github.com/ngrx/effects-builds/blob/master/src/lifecycle_hooks.d.ts
效果订阅了商店,并且在状态商店更改时触发。因为我们知道状态更改是由化简器处理的,所以我们可以合理地得出结论:化简器将始终在效果之前运行。
此外,从Google开发人员专家兼NgRx核心团队成员Brandon Roberts找到了一个答案,确认该订单是有保证的。 https://github.com/ngrx/platform/issues/162