In order to solve cross browser compatibility issues, your event handlers in React will be passed instances of SyntheticEvent, which is React’s cross-browser wrapper around the browser’s native event. These synthetic events have the same interface as native events you’re used to, except they work identically across all browsers.
createPortal lets you render child components in a different part of the DOM tree.
flushSync lets you force React to flush a state update and update the DOM synchronously.
react-dom/client contains APIs to render React components on the client (in the browser).
react-dom/server contains APIs to render React components on the server.