36 lines
947 B
JavaScript
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 };
|