Added and configured redux-persist

This commit is contained in:
Alex Holliday committed 2024-06-20 14:07:33 -07:00
1 parent 085c036bba
commit 5d855157b4
4 files changed
+51 -11

No files matched your search

+9 -6
View File
@@ -6,16 +6,19 @@ import { BrowserRouter as Router, HashRouter } from "react-router-dom";
import theme from "./Utils/Theme.js";
import { ThemeProvider } from "@mui/material";
import { Provider } from "react-redux";
import store from "./store";
import { persistor, store } from "./store";
import { PersistGate } from "redux-persist/integration/react";
ReactDOM.createRoot(document.getElementById("root")).render(
<React.StrictMode>
<Provider store={store}>
<ThemeProvider theme={theme}>
<Router>
<App />
</Router>
</ThemeProvider>
<PersistGate loading={null} persistor={persistor}>
<ThemeProvider theme={theme}>
<Router>
<App />
</Router>
</ThemeProvider>
</PersistGate>
</Provider>
</React.StrictMode>
);
+29 -3
View File
@@ -1,7 +1,33 @@
import { configureStore } from "@reduxjs/toolkit";
import { configureStore, combineReducers } from "@reduxjs/toolkit";
import monitorsReducer from "./Features/Monitors/monitorsSlice";
import authReducer from "./Features/Auth/authSlice";
import storage from "redux-persist/lib/storage";
import { persistReducer, persistStore } from "redux-persist";
export default configureStore({
reducer: { monitors: monitorsReducer, auth: authReducer },
const persistConfig = {
key: "root",
storage,
};
const rootReducer = combineReducers({
monitors: monitorsReducer,
auth: authReducer,
});
const persistedReducer = persistReducer(persistConfig, rootReducer);
export const store = configureStore({
reducer: persistedReducer,
middleware: (getDefaultMiddleware) =>
getDefaultMiddleware({
serializableCheck: {
ignoredActions: [
"persist/PERSIST",
"persist/REHYDRATE",
"persist/REGISTER",
],
},
}),
});
export const persistor = persistStore(store);