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;