首页 > 解决方案 > 如何在没有 redux 的情况下在 React App 中保存和更改大对象?

问题描述

我需要设计一个像 html 编辑器这样的应用程序,但它产生的结果是一个配置对象而不是 HTML 代码。这个对象是一个深度嵌套的对象,就像 DOM 元素一样,它包含大小、颜色、位置、子元素和任何其他属性。用户会经常做一些操作,并通过 config 对象生成一个对话框,随时预览结果。

为了提高性能,我们确实应该避免将整个 config 对象作为 HOC 容器组件的状态。我们需要获取它的一些属性来组成一个状态。虽然我们可以在状态变化的时候改变配置对象,但是在深度嵌套的对象中递归地检索数据可能会导致性能问题。

虽然我们可以异步进行这些更改,但是任何时候用户可以打开带有计算结果的对话框,我们不能确保这些异步操作已经完成。

如果我们使用redux,我们可以在用户触发打开对话框的动作时生成一个新的配置对象,但是如果没有redux,状态树就不容易做到这样。

有人对这个应用有好的建议吗?

标签: reactjs

解决方案


推荐阅读