如果组件在页面上,则为Ngrx更新减速器

时间:2017-02-27 17:46:04

标签: javascript angular ngrx ngrx-effects

我在页面上有两个组件,一个更新用户表单和一个事件历史记录。它们由两个reducer(用户和事件)表示。我希望在用户更新后更新商店中的事件列表(通过调用API)。但是,只有在事件组件位于页面上时才应更新事件。

实现这一目标的最佳方法是什么?我喜欢的唯一解决方案是在表单/事件组件的父级中有一个成功处理程序,它调度一个由一个效果捕获的动作,然后刷新事件列表。我希望这是我可以完全用效果实现的东西,但我显然不知道组件是否在页面上,我还需要访问路径参数。有没有人有更好的解决方案或能看到这个解决方案的问题?

1 个答案:

答案 0 :(得分:1)

通常情况下,事件组件显示在屏幕上的事实代表了“业务逻辑/流程”的某种部分,它可能已经在商店状态中表示为 。如果不是这种情况,您似乎需要以某种方式添加它并在事件组件初始化( ngOnInit )时进行更新并销毁( ngOnDestroy )。

一旦它成为商店的一部分,您就可以将其用作效果的一部分。