You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.1 KiB
60 lines
1.1 KiB
# `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://reactjs.org/docs/react-dom.html |
|
|
|
### `react-dom/client` |
|
|
|
See https://reactjs.org/docs/react-dom-client.html |
|
|
|
### `react-dom/server` |
|
|
|
See https://reactjs.org/docs/react-dom-server.html
|
|
|