当现代浏览器可以有效处理 DOM 更改时,为什么 React 使用虚拟 DOM 的概念?

问题描述 投票:0回答:1

在传统浏览器中,开发人员通常必须直接操作整个文档对象模型(DOM),在发生更改时触发整个结构的重新渲染或修改。然而,随着技术的进步,现代浏览器可以智能地识别和操作 DOM 中发生变化的部分。

考虑到这一点,我很好奇React的Virtual DOM的必要性。当浏览器现在能够有效处理 DOM 更改时,为什么 React 继续使用虚拟 DOM 的概念?在当今的 Web 开发环境中,虚拟 DOM 为**带来了哪些**好处?

我一直在探索 React 和虚拟 DOM 的概念,并且我很好奇它在现代浏览器有效处理 DOM 更改的能力方面的必要性。我读过一些关于 React 的文档和文章,但是我'我仍在试图理解为什么使用虚拟 DOM。

javascript reactjs dom virtual-dom
1个回答
0
投票

即使在 React 最初创建时,也总是可以编写以高性能方式操作 DOM 的代码。棘手的一点是跟踪应用程序状态并使用它来了解您想要进行的哪些修改。

如果高性能代码总是可能的,那么 React 有什么用呢? React 的目标是让编写高性能代码变得“简单”。你告诉 React 你想要在页面上显示什么,React 将计算最少的更改数量。您可以集中精力思考您的应用程序可以处于的状态,而不必考虑如何在这些状态之间移动 虚拟 DOM 是 React 用来将“我希望页面看起来像 X”转换为“我想对 DOM 执行这 27 项修改”的技术。这不是进行这种计算的唯一方法,其他库也使用其他技术。但 virtual dom 解决的问题——让开发人员在应用程序状态级别思考并抽象出细节——仍然存在。

© www.soinside.com 2019 - 2024. All rights reserved.