哪个先创建:真实 DOM 或虚拟 DOM?

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

React 应用第一次渲染时,是先创建真实 DOM 还是虚拟 DOM?

使用 JSX 进行 React 转换为 React.createElement()。那么,虚拟DOM的创建是不是从这里开始,然后基于虚拟DOM,生成真实的DOM呢?

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

好吧,我认为如果你说先创建虚拟 DOM,然后基于虚拟 DOM 创建真实 DOM,那是错误的。这是因为当一个 React 应用程序第一次运行时,已经存在一个真实的 DOM。这通常包括一个空的 HTML 结构,如根元素。因此,当react应用程序启动时,react会生成一棵虚拟DOM树并将结果存储在内存中,然后react将当前空的真实DOM与虚拟DOM进行比较。并且在 React 的协调过程之后,React 更新了真实的 DOM。

所以我们需要这样说:

  1. 当 React 应用程序第一次渲染时,它已经像
    <div id="root"></div>
    一样清空了真实 DOM,并通过调用
    React.createElement()
    创建了一个虚拟 DOM 树。
  2. 创建虚拟 DOM 后,React 将使用一个称为协调的过程。
  3. 在此过程之后,React 通过插入、更新和删除元素来更新真实的 DOM。

要获取更详细的信息,我建议您查看 React 官方文档这里

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