我在React表单中使用受控组件。我担心的是那些输入字段,用户可以在其中输入可能很长的文本。
因为我正在使用Redux进行状态管理,所以state是不可变的。因此,在描述字段中,如果我要输入“Some description!”,我的redux商店中保存的状态值为:
S
So
Som
Some
Some
Some d
Some de
[and so on]
在用户会话的生命周期中,只需存储这些表单字段的所有先前状态,内存使用量就会变得有点沉重。这对于系统资源有限的移动设备尤为重要。
管理我的redux商店内存消耗的好策略是什么?有没有办法清理商店的某些部分?我不想消灭所有东西,但如果某些部件可以以受控的方式冲洗掉,那将是有益的。
答案 0 :(得分:3)
您误解了Redux的工作原理,以及不可变数据更新的工作原理。默认情况下,Redux不会保留以前版本的状态树或操作。 Redux DevTools会跟踪特定数量的先前操作和生成的状态树,但仅限于开发中。 JS垃圾收集器将清除不再引用的任何对象。
有关详细信息,请参阅http://redux.js.org/docs/faq/Performance.html#performance-state-memory,Is there any way to "commit" the state in Redux to free memory?和ngredux state with big data collection, memory concerns。