Reactjs Redux:如果每个状态更改都是一个新对象,那么性能如何?
在中的Redux文档中,说明了: 我们不会改变国家。我们使用Object.assign()创建一个副本。 赋值(状态为{visibilityFilter:action.filter})也是 错误:它将变异第一个参数。你必须提供一个空的 对象作为第一个参数。还可以启用对象排列 操作员建议改为写入{…state,…newState} 我的问题是:创建新的Reactjs Redux:如果每个状态更改都是一个新对象,那么性能如何?,reactjs,memory-leaks,redux,Reactjs,Memory Leaks,Redux,在中的Redux文档中,说明了: 我们不会改变国家。我们使用Object.assign()创建一个副本。 赋值(状态为{visibilityFilter:action.filter})也是 错误:它将变异第一个参数。你必须提供一个空的 对象作为第一个参数。还可以启用对象排列 操作员建议改为写入{…state,…newState} 我的问题是:创建新的State对象对性能和内存消耗有影响吗 如果我每次创建一个新对象,那么我的内存中就有许多State对象,从长远来看,这应该会占用大量内存 这是如何处
State
对象对性能和内存消耗有影响吗
如果我每次创建一个新对象,那么我的内存中就有许多State
对象,从长远来看,这应该会占用大量内存
这是如何处理的?关于性能问题和内存消耗,我遗漏了什么?好吧,一句话。。。不是真的 如果您的状态对象是唯一一个引用该对象的对象,并且应该是,那么当您用另一个对象替换该对象时,旧对象将被清除。请参阅以下有关Javascript中内存和垃圾收集的链接:
您可能认为您的组件正在存储对状态的引用(不应该),但通常这些只是对传递到render方法中的状态部分的临时引用。有很好的答案是的,考虑到这个问题,我得出了相同的结论:最终引用总是一个。。。谢谢你的回答!