import React from 'react'; import ReactDOM from 'react-dom'; import { Provider } from 'react-redux'; import { applyMiddleware, createStore, compose } from 'redux'; import { persistStore, persistReducer } from 'redux-persist'; import storage from 'redux-persist/lib/storage'; import { PersistGate } from 'redux-persist/integration/react'; import thunk from "redux-thunk"; import './index.css'; import App from './components/App/App'; import * as serviceWorker from './serviceWorker'; import rootReducer from './reducers'; const middleware = applyMiddleware(thunk); const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; const persistConfig = { key: 'root', storage, }; const persistedReducer = persistReducer(persistConfig, rootReducer); const store = createStore( persistedReducer, composeEnhancers(middleware) ); export const persistor = persistStore(store); ReactDOM.render( <React.StrictMode> <Provider store={store}> <PersistGate loading={null} persistor={persistor}> <App /> </PersistGate> </Provider> </React.StrictMode>, document.getElementById('root') ); // TODO: Register service worker serviceWorker.unregister();