为什么redux使用对象的不变性来管理应用程序的状态和通量呢?

时间:2017-10-31 04:27:33

标签: javascript redux flux

我读到了关于flux和redux的信息。我看到redux使用不可变对象来管理应用程序的状态,但是flux不会。我理解不变性以更安全的方式处理变更检测,但是在每个变更检测的另一方面,创建单独的新对象并将现有数据复制到新创建的对象。我们知道对象创建非常昂贵,内存消耗也是一个大问题。 浏览器如何处理它?它有垃圾收集吗?

2 个答案:

答案 0 :(得分:0)

redux可以追溯,更容易检测到变化(ref相等)。而不是整个树都被重建 enter image description here

答案 1 :(得分:0)

REDUX不会更新整个状态,但Redux会告诉您对象已更新,

Redux 状态管理比其他任何事情都更具可预测性,但使用和内存消耗基于您的目标,

  

Redux降低了数据结构的复杂性,当然是   如果我们以适当的方式使用,记忆效率

我们更喜欢 Redux

  • 复杂的数据结构应用程序,(内存高效和数据管理更准确)

我们不想使用的地方

  • 简单的应用程序(我们可以使用,但需要更少)

Have a look at What Dan Abramov Says(Creator of Redux)