import ReactDOM from 'react-dom/client'; import { StrictMode, ReactNode, ReactElement, Suspense, memo, } from 'react'; export type ReactComponent = ReactElement | ReactNode | JSX.Element | null; export type TODO = unknown | null | undefined | any; export type childrenType = { children: ReactComponent; } export const getRoot = (id: string = "root") => { const container = document.getElementById(id); return ReactDOM.createRoot(container!); } export const Loading = memo( ({children}: childrenType): ReactComponent => ( Loading...}> {children} ) ); export const Loading2 = Loading; export const Loading3 = memo( ({children}: childrenType): ReactComponent => ( Loading...}> {children} ) ); export const mount = ( children: ReactComponent, id: string = "root" ) => ( getRoot(id).render( {children} ) ); export const mountSuspense = ( children: ReactComponent, id: string = "root" ) => (mount( {children} , id)); export default mount;