首页 > 解决方案 > 如何管理 Redux/ngrx 状态下的实体?

问题描述

我们一直ngrx在我们的应用程序中使用状态管理。由于ngrxredux遵循相同的状态管理原则,这个问题适用于两者。

对于状态管理,我们一直在使用normalizr库来规范化来自服务器的任何传入数据。关于如何entities在不同的状态切片之间共享,我们有以下问题。例如,

// app state
{
  sliceA: sliceAState, // corresponds to feature module A, handled by reducerA
  sliceA: sliceBState, // corresponds feature module B, handled by reducerB
}

sliceA 和 sliceB 都包含一个list名为 的特定实体location。现在这里的正确方法是什么

谢谢你。

标签: reduxngrxstate-management

解决方案


保持相同的状态切片,但这需要跨模块交叉引用 - 还要注意我们使用延迟加载来加载不同的功能模块。

这将是您遵守单一事实来源原则的最佳选择。

如果您开始在多个位置维护相同的数据,则每次数据更改时都需要更新多个数据源。如果只有一个事实来源,您就可以消除商店中出现不一致的可能性。


推荐阅读