【问题标题】:How do I leverage immutability in my redux-react application?如何在我的 redux-react 应用程序中利用不变性?
【发布时间】:2016-11-17 18:21:15
【问题描述】:

我在 redux 中看到,只要状态发生变化,就会创建一个新状态,而不是改变旧状态。我想知道每次创建一个新对象对我们有什么好处。我读到的一件事将有助于调试,因为所有状态都将从浏览器中的应用程序开始出现,因此我们可以切换到我们想要的任何状态。但是内存呢,存储所有存储会吃掉内存,对吧?请纠正我。以及我们如何利用不变性来提高应用程序的性能。我是反应和减少的新手。而且我无法找到确切的答案。请用非常简单的语言帮助我。 :)

【问题讨论】:

    标签: reactjs redux flux


    【解决方案1】:

    但是内存呢,存储所有的 store 会吃掉内存

    首先,在 redux 中只有一个 store,其次,考虑到 store 只保留原始数据类型,即使是非常复杂的应用程序的内存开销也非常小,你不必担心它.你会比内存更快地遇到更大的问题,当你这样做时,你会处理它,但不会更快 - 那将是预优化。更多来自 redux 常见问题解答 http://redux.js.org/docs/FAQ.html#performance-state-memory

    的信息

    以及我们将如何利用不变性来提高应用的性能

    这个概念是微不足道的,因为如果树中的某些内容发生了变化,React 会根据它的比较呈现,比较操作需要尽可能快。进入不变性。例如,给定两个对象,您不需要逐个键来确定它是否相同(例如 Angular 1.x 就是这样工作的),您只需比较 obj1 === obj2 和繁荣,就完成了。如果两个对象指向内存中的相同地址(在幕后),则它们相等,否则它们不相等。

    【讨论】:

    • 谢谢WTK。我从来没有想过这种方式。将阅读有关它的更多信息
    猜你喜欢
    • 1970-01-01
    • 2019-01-20
    • 2017-11-12
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2016-10-02
    相关资源
    最近更新 更多