我应该为两个组件分离相同的实体集合吗?

问题描述 投票:2回答:1

我在工作中遇到以下问题:

在SPA中,我正在工作,具有任务实体和仪表板功能。我的目标也是使用ngrx存储和实体来处理应用程序中的状态管理。仪表板功能分为称为计划和表的组件。

时间表显示了在某些时间段内已为某些资源分配的任务。该表已分页,并且可能包含已按计划显示的任务。因此,这两个组件可以显示任务集合的联合子集。

此外,它们将共享共同的状态(选择)和功能(从网格到计划的拖放)。更重要的是,我们正在谈论数据库中总共有数千个任务,网格页面上最多可以有1000个任务,日程表上有时可以有多达数百个任务。

希望,我为我的问题提供了一些背景信息:任务是否应该存储在单个集合中(由ngrx-entity处理)以避免冗余?还是每个组件应该有单独的集合?如果应该有一个集合,该如何从该集合中删除不必要的任务,以避免将所有实体加载到状态中?]

angular architecture ngrx ngrx-store ngrx-entity
1个回答
0
投票

ngrx和flux都是为了避免冗余,如果您需要在两个组件中使用相同的实体,那么您应该获得相同的实体,而不是从第二个集合中获取它的副本。

由于不同组件需要不同的实体集,因此需要考虑商店中集合/列表的实现。例如,在一个状态中有2个其他变量,它们为每个组件存储一个ID数组。首先,您选择ID,然后选择实体。这将帮助您保持数据的一致性。

删除不必要的实体,这是您需要自己实现的,例如,您可以执行操作以删除ID列表,然后根据其他列表,您可以检测应从实体集合中删除哪些实体。] >

© www.soinside.com 2019 - 2024. All rights reserved.