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

作者站长头像
站长
· 阅读数 14

我在使用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个回答
avatar
test
2024-07-18

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

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容