react/packages/react-dom
Jack Pope 476f53879e
Add getClientRects to fragment instances (#32660)
Adds `getClientRects()` to fragment instances with a fixture test case.
`Element.getClientRect` returns a collection of `DOMRect`s (see example
of multiline span returning two `DOMRect` boxes).
`fragmentInstance.getClientRects` here flattens those collections into
an array of rects.
2025-03-18 13:54:26 -04:00
..
npm [Fizz] Add resumeAndPrerender to Static Rendering (#30950) 2024-09-12 10:51:01 -04:00
src Add getClientRects to fragment instances (#32660) 2025-03-18 13:54:26 -04:00
client.js [react-dom] move all client code to react-dom/client (#28271) 2024-04-24 08:50:32 -07:00
index.js [react-dom] move all client code to react-dom/client (#28271) 2024-04-24 08:50:32 -07:00
package.json Bump next prerelease version numbers (#31676) 2024-12-12 14:10:46 -05:00
profiling.js [react-dom] move all client code to react-dom/client (#28271) 2024-04-24 08:50:32 -07:00
README.md chore: update new docs links for react-dom (#26456) 2023-03-22 12:55:06 +01:00
server.browser.js Remove renderToStaticNodeStream (#28873) 2024-04-18 21:06:04 -07:00
server.bun.js Remove renderToStaticNodeStream (#28873) 2024-04-18 21:06:04 -07:00
server.edge.js Remove renderToStaticNodeStream (#28873) 2024-04-18 21:06:04 -07:00
server.js [Codemod] Update copyright header to Meta (#25315) 2022-10-18 11:19:24 -04:00
server.node.js Remove renderToStaticNodeStream (#28873) 2024-04-18 21:06:04 -07:00
static.browser.js [Fizz] Add resumeAndPrerender to Static Rendering (#30950) 2024-09-12 10:51:01 -04:00
static.edge.js [Fizz] Add resumeAndPrerender to Static Rendering (#30950) 2024-09-12 10:51:01 -04:00
static.js [Codemod] Update copyright header to Meta (#25315) 2022-10-18 11:19:24 -04:00
static.node.js [Fizz] Add resumeAndPrerender to Static Rendering (#30950) 2024-09-12 10:51:01 -04:00
test-utils.js [Codemod] Update copyright header to Meta (#25315) 2022-10-18 11:19:24 -04:00
unstable_server-external-runtime.js [ServerRenderer] Move fizz external runtime implementation to react-dom-bindings (#25617) 2022-11-03 11:15:29 -04:00
unstable_testing.experimental.js [react-dom] move all client code to react-dom/client (#28271) 2024-04-24 08:50:32 -07:00
unstable_testing.js [react-dom] move all client code to react-dom/client (#28271) 2024-04-24 08:50:32 -07:00

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

npm install react react-dom

Usage

In the browser

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

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