我们正在尝试forFeature
为我们的应用采用一种模式。然而,多个特征是相关的。
我们有一个同时显示多个实体关系的应用程序。
例如考虑我们有以下实体
- 产品
- 供应商
- 国家
- 货币
- 港口
在哪里作为模型
ìnterface Product {
countryId: string;
currencyId: string;
supplierId: string;
}
interface Supplier {
name: string;
harbourId: string;
countryId: string;
}
然后在product-detail
页面中,我们显示产品的¤cy
以及country
名称和country
。supplier
考虑到我们还有一个supplier-details page
显示上述供应商信息及其最近 10 种产品的地方。
当前处理所有这些的方式是使用这样的存储结构:
- entities
---- product
---- supplier
---- currency
---- country
---- harbour
- ui
---- other stuff ui related
这是通过根中的单个存储完成的。
然而,应用程序文件夹结构是这样划分的:
- features
--- product
------ product.actions / product.reducer / product.effects / product.selector
--- supplier
------ supplier.actions / supplier.reducer / supplier.effects / supplier.selector
--- store
------ reducers ( here we are importing all reducers to combine those)
------ harbour.actions / harbour.reducer / harbour.effects / harbour.selector
------ country.actions / country.reducer / country.effects / country.selector
------ currency.actions / currency.reducer / currency.effects / currency.selector
正如您所看到的,文件夹结构有点杂乱无章,因为我还不确定该放在哪里harbour
, 因为country
其中currency
一些是一般实体。
但是,我正在研究其中的forFeature
一点,ngrx
我想知道如果我们碰巧使用它以及功能是否可以一起使用,所有这些将如何组合在一起。
- 这些实体中的每一个都是一个
forFeature
吗? - 还是应该将所有这些东西放在一个地方并具有一个
entity
功能,以便我的商店看起来与现在一样?