| # `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 | |