Angular 6 NGRX;多重特征共享选择器

时间:2018-08-04 05:59:35

标签: angular ngrx

我在使用Angular 6和NGRX构建(和学习!)MeteorJS应用时遇到了一个体系结构问题。

我基于出色的Todd Moto example建立了Redux架构,他在其中创建了Pizza设计师。 但是,他仅定义了一个名为Products的功能分支。 那么,如果我添加另一个名为Oven的Feature分支怎么办?

烤箱要烘烤队列中的比萨饼。

状态树如下:

/
products
..pizzas
....toppings
..queue
oven
..baking
..served

烤箱模块可以访问Redux Store,但是,它不能简单地重用Products功能下Store文件夹中定义的reduces和选择器。 首先,烤箱要查看队列中有哪些披萨,以便将它们放入烤箱中。

由于产品功能在ProductsState中定义了reducers/index.ts,因此我决定创建一个AppState并将其放在app/store文件夹下。然后,此appState公开功能(外观与商店相同)。

不可能在功能之间共享选择器,所以我想我必须为两个功能都创建QueueSelector吗? 还是我要在app/store文件夹下定义在两个功能中使用的选择器(不确定这是否已经是不良体系结构的标志),并且不要将它们变成功能选择器?

还是应该让Queue成为它自己的功能,然后您可以让功能调用其他功能简化程序吗?

我想从多功能NGRX应用程序中获得一些最佳实践方面的建议。

谢谢。

0 个答案:

没有答案