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.
		
		
		
		
		
			
		
			
				
					
					
						
							61 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							61 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
 |