react-starter-kit
47 строк · 1.2 Кб
1import {App} from 'app/components/App';
2import {store} from 'app/store';
3import {Config} from 'modules/config/components/Config';
4import {LocaleProvider} from 'modules/locale/components/LocaleProvider';
5import React from 'react';
6import {createRoot, Root} from 'react-dom/client';
7import {Provider} from 'react-redux';
8import {BrowserRouter} from 'react-router-dom';
9import 'styles/index.less';
10
11const getRender = (root: Root) => () => {
12root.render(
13<React.StrictMode>
14<Provider store={store}>
15<LocaleProvider>
16<BrowserRouter>
17<Config>
18<App />
19</Config>
20</BrowserRouter>
21</LocaleProvider>
22</Provider>
23</React.StrictMode>
24);
25};
26
27const container = document.getElementById('root');
28
29if (container) {
30const root = createRoot(container);
31const render = getRender(root);
32
33render();
34}
35
36const onRegisterError = (error) => {
37console.error('SW registration failed: ', error);
38};
39
40const onWindowLoad = () => {
41if ('serviceWorker' in navigator && navigator.serviceWorker) {
42navigator.serviceWorker.register('/sw.js').catch(onRegisterError);
43}
44};
45
46window.removeEventListener('load', onWindowLoad);
47window.addEventListener('load', onWindowLoad);
48