首页 > 解决方案 > ngrx:集合中每个元素的加载状态

问题描述

我有一个带有项目列表的页面状态。每个项目都有自己的加载状态,具体取决于可以在其中进行的少数操作。

我想知道更新项目加载状态的最佳方法是什么:

也许还有其他不错的选择?我真的不喜欢我上面描述的任何方式..

标签: angularngrxstate-management

解决方案


物品就是物品,加载状态是加载状态。您可以混合使用它们,但更好的方法是保持简单。

我建议简单地实现loadingIds允许获取当前加载状态的选择器。

而不是Set使用 id 数组。

添加加载

state.loadingIds = [...state.loadingIds, id];

检查加载

state.loadingIds.indexOf(id) !== -1;

删除加载

state.loadingIds = state.loadingIds.filter(loadingId => loadingId !== id);

推荐阅读