gpt4 book ai didi

javascript - React 的不可变元素创建和渲染机制不是效率极低吗?

转载 作者:行者123 更新时间:2023-12-03 14:16:21 26 4
gpt4 key购买 nike

我不是 React 开发人员,但我正在用另一种语言实现类似的 State 和 Props 管理基础设施。在阅读 React's state management and rendering mechanism 时,我看到了这句话

React elements are immutable. Once you create an element, you can’t change its children or attributes. An element is like a single frame in a movie: it represents the UI at a certain point in time.

如果我理解正确的话,每次父组件的状态发生变化时,都会调用其子组件的渲染方法(如果它们的 Props 受到影响),并且这些子组件将被重新创建和(重新)渲染。

这不是效率非常低吗,特别是如果子组件涉及复杂的计算、可视化等? React 中是否有一种机制可以一次性创建组件,但在状态更改时仅更新(而不是重新创建)必要的部分?

最佳答案

嗯,这就是我们使用 React 的全部意义。

您听说过 Virtual DOM ?虚拟 DOM 只是一个内存实例,保存了真实 DOM 的精确副本。

当 prop/state 更新时,它不会重新渲染整个事物,而只会重新渲染受影响的 UI 部分。

所以,这是非常高效的,想看看他们是如何做到的,你可以查看源代码 here .

关于javascript - React 的不可变元素创建和渲染机制不是效率极低吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com