26 lines
604 B
TypeScript
26 lines
604 B
TypeScript
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||
/* eslint-disable react/display-name */
|
||
import React from 'react';
|
||
import ReactDOM from 'react-dom/client';
|
||
|
||
import App from './app';
|
||
|
||
export default () => <App/>;
|
||
|
||
let rootElement: ReactDOM.Root
|
||
|
||
export const mount = (Сomponent, element = document.getElementById('app')) => {
|
||
rootElement = ReactDOM.createRoot(element);
|
||
rootElement.render(<Сomponent/>);
|
||
|
||
if(module.hot) {
|
||
module.hot.accept('./app', ()=> {
|
||
rootElement.render(<Сomponent/>);
|
||
})
|
||
}
|
||
};
|
||
|
||
export const unmount = () => {
|
||
rootElement.unmount();
|
||
};
|