# react-dom

> React package for working with the DOM.

Latest version **19.3.0** (published 2026-09-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install react-dom
pnpm add react-dom
yarn add react-dom
bun add react-dom
```

## Health

**Score 78/100 (B)** — status: active.

Positive: has types package; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score; popular repo; extremely popular.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 19.3.0 |
| Published | 2026-09-09 |
| First published | 2014-05-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/react-dom) |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 7.7 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 250409 |
| Maintainers | fb, react-bot |
| Keywords | react |

## Links

- npm: https://www.npmjs.com/package/react-dom
- Repository: https://github.com/react/react
- Homepage: https://react.dev/
- Issues: https://github.com/react/react/issues
- npm.io page: https://npm.io/package/react-dom

## Dependencies (1)

- [scheduler](https://npm.io/package/scheduler.md) ^0.28.0

## Alternatives

- [mobx-react](https://npm.io/package/mobx-react.md) — 2.8M weekly downloads
- [rc-tree](https://npm.io/package/rc-tree.md) — 2.6M weekly downloads
- [@react-oauth/google](https://npm.io/package/@react-oauth/google.md) — 1.3M weekly downloads
- [@wagmi/connectors](https://npm.io/package/@wagmi/connectors.md) — 877.0K weekly downloads
- [vee-validate](https://npm.io/package/vee-validate.md) — 836.4K weekly downloads

## Recent versions

- 19.3.0 (latest) — 2026-09-09
- 19.3.0-canary-9b938532-20260914 (canary) — 2026-09-14
- 0.0.0-experimental-9b938532-20260914 (experimental) — 2026-09-14
- 19.0.8 (backport) — 2026-07-21
- 19.3.0-canary-d5736f09-20260507 (next) — 2026-05-08
- 19.0.0-rc.1 (rc) — 2024-11-14
- 19.0.0-beta-26f2496093-20240514 (beta) — 2024-05-14
- 19.3.0-canary-019019be-20260911 — 2026-09-11
- 0.0.0-experimental-019019be-20260911 — 2026-09-11
- 0.0.0-experimental-82c44beb-20260910 — 2026-09-10
- 19.3.0-canary-82c44beb-20260910 — 2026-09-10
- 19.3.0-canary-1d34f91d-20260909 — 2026-09-09
- 0.0.0-experimental-1d34f91d-20260909 — 2026-09-09
- 0.0.0-experimental-6c0e1047-20260908 — 2026-09-08
- 19.3.0-canary-6c0e1047-20260908 — 2026-09-08
- … 2887 more at https://npm.io/package/react-dom/versions

## README

# `react-dom`

This package serves as the entry point to the DOM and server renderers for React. It is intended to be paired with the generic React package, which is shipped as `react` to npm.

## Installation

```sh
npm install react react-dom
```

## Usage

### In the browser

```js
import { createRoot } from 'react-dom/client';

function App() {
  return <div>Hello World</div>;
}

const root = createRoot(document.getElementById('root'));
root.render(<App />);
```

### On the server

```js
import { renderToPipeableStream } from 'react-dom/server';

function App() {
  return <div>Hello World</div>;
}

function handleRequest(res) {
  // ... in your server handler ...
  const stream = renderToPipeableStream(<App />, {
    onShellReady() {
      res.statusCode = 200;
      res.setHeader('Content-type', 'text/html');
      stream.pipe(res);
    },
    // ...
  });
}
```

## API

### `react-dom`

See https://react.dev/reference/react-dom

### `react-dom/client`

See https://react.dev/reference/react-dom/client

### `react-dom/server`

See https://react.dev/reference/react-dom/server

---
_Source: https://npm.io/package/react-dom · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
