React DOM APIs
The react-dom
package contains methods that are only supported for the web applications (which run in the browser DOM environment). They are not supported for React Native.
APIs
These APIs can be imported from your components. They are rarely used:
createPortal
lets you render child components in a different part of the DOM tree.flushSync
lets you force React to flush a state update and update the DOM synchronously.
Resource Preloading APIs
These APIs can be used to make apps faster by pre-loading resources such as scripts, stylesheets, and fonts as soon as you know you need them, for example before navigating to another page where the resources will be used.
React-based frameworks frequently handle resource loading for you, so you might not have to call these APIs yourself. Consult your framework’s documentation for details.
prefetchDNS
lets you prefetch the IP address of a DNS domain name that you expect to connect to.preconnect
lets you connect to a server you expect to request resources from, even if you don’t know what resources you’ll need yet.preload
lets you fetch a stylesheet, font, image, or external script that you expect to use.preloadModule
lets you fetch an ESM module that you expect to use.preinit
lets you fetch and evaluate an external script or fetch and insert a stylesheet.preinitModule
lets you fetch and evaluate an ESM module.
Entry points
The react-dom
package provides two additional entry points:
react-dom/client
contains APIs to render React components on the client (in the browser).react-dom/server
contains APIs to render React components on the server.
Deprecated APIs
findDOMNode
finds the closest DOM node corresponding to a class component instance.hydrate
mounts a tree into the DOM created from server HTML. Deprecated in favor ofhydrateRoot
.render
mounts a tree into the DOM. Deprecated in favor ofcreateRoot
.unmountComponentAtNode
unmounts a tree from the DOM. Deprecated in favor ofroot.unmount()
.