import { configureStore } from "@reduxjs/toolkit"; import { persistStore, persistReducer } from "redux-persist"; import storage from "redux-persist/lib/storage"; import rootReducer from "./reducers"; import demoState from "./utils/demoState"; const persistConfig = { key: "root", storage, }; const persistedReducer = persistReducer(persistConfig, rootReducer); export const store = configureStore({ reducer: persistedReducer, preloadedState: demoState, }); export const persistor = persistStore(store); if (module.hot) { module.hot.accept("./reducers", () => { // eslint-disable-next-line global-require const nextRootReducer = require("./reducers").default; store.replaceReducer(persistReducer(persistConfig, nextRootReducer)); }); }