janahan-law/store/index.js
2025-08-08 11:53:47 +05:30

36 lines
947 B
JavaScript

import { createStore, compose, applyMiddleware } from "redux";
import { persistStore, persistReducer } from "redux-persist";
import storage from "redux-persist/lib/storage"; // defaults to localStorage for web
// middlewares
import thunk from "redux-thunk";
// Import custom components
import rootReducer from "./reducers/rootReducers";
const middleware = [thunk];
const persistConfig = {
key: "root",
storage,
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
let store = createStore(
persistedReducer,
compose(
applyMiddleware(...middleware),
//For working redux dev tools in chrome (https://github.com/zalmoxisus/redux-devtools-extension)
typeof window !== "undefined" && window.__REDUX_DEVTOOLS_EXTENSION__
? window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__()
: (f) => f
)
);
let persistor = persistStore(store);
export { store, persistor };