假设有任务和项目。有时用户想要查看他/她的所有任务,有时希望查看属于某个项目的任务。在开始加载所有任务时,所有这些不同的视图都可以使用NgRx选择器从任务实体集合中获取必需的内容(同时NgRx效果+ Firestore stateChanges将负责更新)。
但是,如果我不想在一开始就加载所有任务(因为任务太多),应该如何解决该问题?
我应该只在任务实体集合中存储“当前视图的列表”,而当用户切换到另一个视图时将其清空吗?
我应该加载当前必需的内容,将其附加到任务实体集合并使用选择器吗?但是,以这种方式,我不确定如何处理更新(因为我猜想在所有prevoius查询上监听stateChanges可能有点过头)。
还有更好的选择吗?
答案 0 :(得分:0)
这里可能没有对或错的答案,但这是我们的处理方法:
upsertMany
使得此操作很容易)状态如下:
{
entities: {...},
entitiesById: {...},
visibleEntitiesIds: {...}
}