React是如何得到index.html的id为#root的HTML标签的呢?

我在使用React 18创建项目的时候:

import ReactDOM from "react-dom/client";
import React from "react";

// 创建组件
class Hello extends React.Component {
  render () {
    return <h1>HELLO</h1>;
  }
}

// 使用ReactDOM.Root实例将 `组件` 渲染进入实例
const root = ReactDOM.createRoot(
  document.getElementById('root')
)
root.render(<Hello/>)

有2个问题:
1.没有引入public/index.html,但是这里渲染:

document.getElementById('root')

是如何得到index.html的id为#root的HTML标签的呢?

2.ReactDOM.createRoot() 是得到的一个什么对象,是虚拟DOM吗?React中什么样的对象才能进行render其他组件,像这里的root一样?

阅读 1.7k
1 个回答

他引入public/index.html了,只是他是在webpack中处理的,以public/index.html为模板,重新生成的html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题