是否可以从其他模块重用NGRX Store和Effects?

时间:2019-02-22 08:58:12

标签: angular ngrx ngrx-store ngrx-effects

我们目前正在重构我的团队中的Angular应用程序,并且我们正在采用NGRX库(Store,Effects ...)。我们对Redux模式有点陌生,我们有很多可重用的组件。

例如,我们有一个Projects的主模块,其中包含一个容器组件,然后仅在底部显示项目列表和多选栏。在此组件中,您可以DeleteDownload并对列表中的每个项目执行3或4个以上的操作。另外,您可以选择2个或更多项目,并执行与批量操作相同的操作。

我看到的问题是,在我们开始重构应用程序之前,我们在另外两个主要模块中使用了此组件,但有一点不同。在主要的Projects模块中,我们显示所有项目,在另一个模块中,我们重用相同的组件以显示由parent id过滤的所有项目,而在另一个模块中,我们使用相同的组件以显示由ancestor id过滤的所有项目。 projects

在所有这些组件中,状态将相同(selected projects的列表和Effects的列表)。您可以对项目执行的操作也相同。

那么,在这一点上,处理这些组件可重用性的最佳方法是什么?我曾经考虑过从主模块重用Store接口,然后重写所有效果和reducer。但是如果我需要对Reducer或{{1}}中的任何一个进行更改,每次都必须编辑三个文件...这里的主要方法是什么?谢谢!

0 个答案:

没有答案