ngrx状态更新对可观察行为的影响

时间:2018-03-23 11:11:42

标签: angular ngrx ngrx-store

这是我理解 ngrx存储:由于ngrx状态是不可变的,因此在更新它时,整个对象将替换为新的状态对象。

问题: 更新状态(=>创建新的状态对象)时,所有可观察对象都会触发值吗?

// assume state is defined like:

interface state = {
  backendState: backendData;
  frontendState: frontendState; 
}

国家由两个子州组成。由于状态是不可变的,例如更新了前端并创建了一个新状态,这些对frontendState的更改是否会因为状态的改变而导致所有可观察对象都发出新的值?

关于此问题的背景信息: 最近我和同事讨论了我们实施国家的方式。他们更喜欢扁平的层次结构,并认为对象封装的值的更改会导致enire对象在状态中被替换,因此使用大量的地图和字符串ID(而不是ngrx实体)创建平面状态会更有效。类似)。关于他们的论点的思考我想知道是否真的存在差异,因为你知道我对ngrx商店/州在问题开始时的解释如何理解。

同时欣赏有关此背景下的最佳实践的信息以及关于更好的问题标题的想法。

编辑1: 还有什么是ngrx实体的行为,因为这是一个包含数组和对象的对象。实体会被完全替换吗?

0 个答案:

没有答案