我在工作中遇到了以下问题:
在SPA中,我有任务实体和仪表板功能。此外,我的目标是使用ngrx store & entity来处理应用程序中的状态管理。仪表板功能拆分为称为明细表和表格的组件。
Schedule显示某些资源在某个时间跨度内已分配的任务。表被分页,并且可能包含已按计划显示的任务。因此,这两个组件可以显示任务集合的联合子集。
此外,它们将共享共同的状态(选择)和功能(从网格到时间表的拖放)。更重要的是,我们谈论的是在DB中总共有数千个任务,网格页面可能有1000个任务,时间表有时可能有数百个任务。
希望,我已经为我的问题提供了一些背景:任务是否应该存储在单个集合中(由ngrx-entity处理)以避免冗余?或者每个组件都应该有单独的集合?如果应该有一个集合,如何从这个集合中删除不必要的任务,以避免将所有实体加载到状态?
发布于 2020-04-24 01:35:03
ngrx和flux都是为了避免冗余,如果你在两个组件中需要相同的实体-那么你应该得到相同的实体,而不是从其他地方复制,比如第二个集合。
因为不同的组件需要不同的实体集,所以需要考虑在存储中实现集/列表。例如,在存储每个组件的ids数组的状态中有2个额外的变量。首先选择ids,然后选择实体。它将帮助您保持数据的一致性。
删除不必要的实体,这是您需要自己实现的,例如,您可以有一个删除ids列表的操作,然后根据其他列表,您可以检测哪些实体应该从实体集合中删除。
https://stackoverflow.com/questions/61386661
复制相似问题