javascript - Object.assign 为什么以及如何提高 React 中的应用程序性能?

标签 javascript performance reactjs immutability

我正在阅读 Facebook tutorial for React .大约 40% 的过程中,有一个名为 Why Immutability is Important 的部分他们在哪里声明(关于不变性的重要性):

The end result is the same but by not mutating (or changing the underlying data) directly we now have an added benefit that can help us increase component and overall application performance.

我的问题是:为什么/如何? 也就是说,在 React 中,特别是为什么/如何实现不变性(使用 Object.assign(...) 等)“帮助提高……整体应用程序性能”?

最佳答案

我认为用数组更容易理解:

假设您有一个数组,其中包含许多条目。 您将一个条目替换为另一个条目 - 以查看是否有任何更改 react 必须循环遍历整个 array

现在,想象一下,每次您进行一些更改时,您都会创建新的 array - 然后 react 唯一要做的就是比较 references

Object.assign 做同样的事情——不是改变现有的 object,而是创建一个新的,这样 react 就可以简单地检测到变化通过比较引用

关于javascript - Object.assign 为什么以及如何提高 React 中的应用程序性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41443420/

相关文章:

javascript - 如果元素被溢出完全隐藏,设置可见性是否多余?

reactjs - 在React应用程序中接收 "Attempted import error:"

javascript - 基于屏幕分辨率显示背景图像几乎可以工作

javascript - JQuery Autocomplete GET 和 JSON 数组数据安全问题

performance - 何时使用禁忌搜索与遗传算法结合使用,何时不使用?

reactjs - 将 Prop 传递给 redux

css - 如何仅当元素在屏幕的某个位置时才触发动画?

javascript - 将数组传递值映射到异步 Puppeteer 函数有时会返回不正确的值

javascript - 在特定上下文中调用 eval()

arrays - 检查数组是否为空的最快方法