每当状态发生变化时,我会在redux中看到,创建一个新状态,而不是改变旧状态。我想知道每次创建一个新对象对我们有什么好处。我读过的一件事将有助于调试,因为所有状态都将从应用程序的开始出现在浏览器中,因此我们可以切换到我们想要的任何状态。但是记忆如何,存储所有商店会吃掉内存,对吗?请纠正我。我们如何利用不变性来提高应用程序的性能。我是新来的反应和减少。而且我无法找到确切的答案。请用非常简单的话语帮助我。 :)
答案 0 :(得分:3)
但内存如何,存储所有商店会吃掉内存
首先,在redux中只有一个商店,其次,考虑到商店只保留原始数据类型的事实,即使是非常复杂的应用程序的内存开销也很小,你真的不必担心它。你会比内存更快地遇到更大的问题,当你这样做时,你会处理它,但不会更快 - 这将是预优化。来自redux FAQ http://redux.js.org/docs/FAQ.html#performance-state-memory
的更多信息以及我们如何利用不变性来提高应用的性能
这个概念是微不足道的,因为如果树中的某些东西发生了变化,React会根据它进行比较,比较操作需要尽可能快。进入不变性。例如,给定两个对象,您不需要按键来确定它是否相同(例如Angular 1.x以这种方式工作),您只需比较obj1 === obj2
和繁荣,就完成了。如果两个对象指向内存中的相同地址(在幕后)它们是相等的,否则它们不是。