react-dom
npmv19.2.8React package for working with the DOM.
Safe to adopt
Yes — react-dom scores well across adoption, maintenance, weight, supply chain, and licensing. 143.7M downloads per week and 47 known dependents. Last published 50 days ago. 50 releases in the last 2 years.
- AAdoption: grade A, Excellent.
143.7M downloads per week and 47 known dependents.
- AMaintenance: grade A, Excellent.
Last published 50 days ago. 50 releases in the last 2 years.
- AWeight: grade A, Excellent.
Pulls in 1 transitive package, about 7.1 MB installed.
- ASupply chain: grade A, Excellent.
No install scripts, 2 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding react-dom to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Licenses in the dependency tree
Every license you inherit by installing react-dom, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- No constraint declared
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the react-dom README.
import { createRoot } from 'react-dom/client';
function App() {
return <div>Hello World</div>;
}
const root = createRoot(document.getElementById('root'));
root.render(<App />);react-dom vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| react-domthis page | 143.7M | 47 | MIT | 1 month ago |
| react | 152.8M | 82 | MIT | 1 day ago |
| react-style-singleton | 59.1M | 2 | MIT | 1 day ago |
| reselect | 44M | 1 | MIT | 1 day ago |
| next | 40.6M | 0 | MIT | 1 day ago |
| @testing-library/user-event | 35.3M | 4 | MIT | 1 day ago |
Dependencies
Declared by react-dom v19.2.8. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (1)
Peer (1)
Used by
Popular packages that depend on react-dom.
No description provided.
Removes body scroll without content _shake_
Just create a single stylesheet...
High performance (de)compression in an 8kB package
Packs ECMAScript/CommonJs/AMD modules for the browser. Allows you to split your codebase into multiple bundles, which can be loaded on demand. Supports loaders to preprocess files, i.e. json, jsx, es7, css, less, ... and your custom stuff.
No description provided.
Selectors for Redux.
The React Framework
Fire events the same way the user does
Minimal H(TTP) framework built for high performance and portability.
The official, opinionated, batteries-included toolset for efficient Redux development
Drawer component for React.
Expo Router is a file-based router for React Native and web applications.
React Server Components bindings for DOM using Webpack. This is intended to be integrated into meta-frameworks. It is not intended to be imported directly.
Native navigation primitives for your React Native app.
Fastest deep equal comparison for React. Great for React.memo & shouldComponentUpdate. Also really fast general-purpose deep comparison.
No description provided.
No description provided.
More powerful alternative to Animated library for React Native.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
Relationship graph
Dependencies (left) and dependents (right) of react-dom.
Frequently installed together
React is a JavaScript library for building user interfaces.
TypeScript definitions for react
TypeScript definitions for react-dom
The Expo SDK
A framework for building native apps using React
Tools for making advanced Metro bundler features work
Error overlay for universal Expo apps.
TypeScript definitions for node
A WebView specifically designed for Expo DOM components
React Native for Web
Provides system information that remains constant throughout the lifetime of your app.
React Server Components bindings for DOM using Webpack. This is intended to be integrated into meta-frameworks. It is not intended to be imported directly.
Release history
50 releases in the last two years, typically about 0 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 0.0.0-experimental-6c0e1047-20260908 | 1 day ago | 10 MB | MIT |
| 19.3.0-canary-6c0e1047-20260908 | 1 day ago | 7.7 MB | MIT |
| 0.0.0-experimental-f1f7ed2a-20260904 | 2 days ago | 10 MB | MIT |
| 19.3.0-canary-f1f7ed2a-20260904 | 2 days ago | 7.7 MB | MIT |
| 0.0.0-experimental-8425b691-20260904 | 5 days ago | 10 MB | MIT |
| 19.3.0-canary-8425b691-20260904 | 5 days ago | 7.7 MB | MIT |
| 0.0.0-experimental-d9f4e76b-20260903 | 6 days ago | 10 MB | MIT |
| 19.3.0-canary-d9f4e76b-20260903 | 6 days ago | 7.7 MB | MIT |
| 0.0.0-experimental-f4e439e1-20260902 | 7 days ago | 10 MB | MIT |
| 19.3.0-canary-f4e439e1-20260902 | 7 days ago | 7.7 MB | MIT |
| 0.0.0-experimental-21c89c9f-20260901 | 8 days ago | 10 MB | MIT |
| 19.3.0-canary-21c89c9f-20260901 | 8 days ago | 7.7 MB | MIT |
| 0.0.0-experimental-ff7445e6-20260831 | 9 days ago | 10 MB | MIT |
| 19.3.0-canary-ff7445e6-20260831 | 9 days ago | 7.7 MB | MIT |
| 19.3.0-canary-2dc7da79-20260828 | 12 days ago | 7.7 MB | MIT |
Overview
react-dom is an npm package that react package for working with the DOM. It is extremely widely used, with about 143.7M downloads per week and 47 known dependents in the graph. The latest version is 19.2.8, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need react package for working with the DOM and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (143.7M weekly downloads).
- Clear open-source license (MIT).
- Lean dependency tree (2 direct dependencies).
Cons
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Keywords
Frequently asked questions
Should I use react-dom?
Yes — react-dom scores well across adoption, maintenance, weight, supply chain, and licensing. 143.7M downloads per week and 47 known dependents. Last published 50 days ago. 50 releases in the last 2 years.
How do I install react-dom?
Run `npm install react-dom` to add react-dom to your npm project.
How many dependencies does react-dom have?
react-dom declares 2 direct dependencies and pulls in 1 packages in total once its runtime tree is resolved totalling about 7.1 MB on disk.
What license is react-dom released under?
react-dom is distributed under the MIT license.
How popular is react-dom?
react-dom has approximately 143,693,625 downloads per week and 47 known dependent packages.
Is react-dom still maintained?
The most recent release of react-dom (v19.2.8) was published 1 month ago.
Does react-dom run install scripts?
No. react-dom does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.