React DOM API
react-dom 包包含一些仅支持在浏览器 DOM 环境下运行的方法,不支持在 React Native 中使用。
API
这些 API 可以在你的组件中导入,但是很少使用:
createPortal允许你将子组件渲染到 DOM 树的不同位置。flushSync允许你强制 React 同步刷新状态并更新 DOM。
资源预加载 API
一旦你确定会用到某些资源,这些 API 可用于预加载脚本、样式表和字体等资源,从而让应用更快。例如,在跳转到将使用这些资源的另一个页面之前加载。
基于 React 的框架 通常会为你处理资源加载,因此你可能无需手动调用这些 API。具体请查阅你的框架文档。
prefetchDNS让你预取出希望连接的 DNS 域名的 IP 地址。preconnect让你连接到预计请求资源的服务器,即使你尚不确定具体需要哪些资源。preload让你获取预计要使用的样式表、字体、图片或外部脚本。preloadModule让你获取预计要使用的 ESM 模块。preinit让你获取并执行外部脚本,或获取并插入样式表。preinitModule让你获取并执行一个 ESM 模块。
入口
react-dom 包提供了两个额外的入口:
react-dom/client包含在客户端(在浏览器中)渲染 React 组件的 API。react-dom/server包含在服务器上渲染 React 组件的 API。
已移除的 API
这些 API 将在 React 19 中被移除。
findDOMNode:查看 替代方案。hydrate:使用hydrateRoot来替代。render:使用createRoot来替代。unmountComponentAtNode:使用root.unmount()来替代。renderToNodeStream:使用react-dom/serverAPI 来替代。renderToStaticNodeStream:使用react-dom/serverAPI 来替代。