【问题标题】:Why redux uses immutability of object for managing the state of an application and flux does not?为什么 redux 使用对象的不变性来管理应用程序的状态而 Flux 不使用?
【发布时间】:2018-04-12 04:18:13
【问题描述】:

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

【问题讨论】:

    标签: javascript redux flux


    【解决方案1】:

    REDUX 不会更新整个状态,但是 Redux 会让你知道你的对象已经被更新了,

    Redux 状态管理比其他任何方法都更可预测,但使用情况和内存消耗取决于您要执行的操作,

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

    我们更喜欢 Redux

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

    我们不想使用的地方

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

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

    【讨论】:

      【解决方案2】:

      redux 可以追溯,并且更容易检测到变化(ref 相等)。而不是重新创建整棵树

      【讨论】:

      • 我理解,但是我问的关于不变性的问题呢
      • 在大多数情况下,你的应用程序的状态不应该包含太多数据,如果内存浪费可能会导致问题,我认为你应该使用 indexeddb 之类的东西。
      猜你喜欢
      • 1970-01-01
      • 2015-12-04
      • 2015-08-05
      • 2021-06-20
      • 2020-12-07
      • 1970-01-01
      • 2020-02-02
      相关资源
      最近更新 更多