带有存储的NGRX实体仅包含记录的子集

时间:2019-05-16 14:45:04

标签: database api ngrx ngrx-entity

最近使用NGRX实体制作了带有状态管理的组件,以前我们在其中使用了直接的NGRX action-> reducer-> effect-> selector。

从第一印象开始,在我看来,设计模式期望您将模型中的总记录集加载到状态中,所以这就是我所做的。然后我开始思考,当该模型开始包含大量数据时会发生什么情况。

问题是,如果仅要将数据子集加载到状态中,实体是否有意义?

例如,如果我仅加载一个子集,则当对存储实施操作时,无法对数据表中的列进行排序(正如用户期望的那样)。

1 个答案:

答案 0 :(得分:-1)

我不确定是否收到您的问题,但是无论如何都会尝试回答。

  1. 在以下情况下,将ngrx实体添加到减速器中确实很有意义:
    • 您可以为所在州的每个实体找到唯一的身份
    • 最终用户的操作将导致将新实体添加到您的状态,更新或删除现有实体

因此,如果您的实体很有可能会被插入/更新/删除-ngrx实体是您的理想之路。

  1. 在以下情况下,将ngrx实体添加到减速器中没有意义:
    • 您存储的实体永远不会更新。真的,这是过度设计,普通数组可以解决问题。