ekantin

configureStore.js

May 13th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import { applyMiddleware, createStore, compose } from 'redux';
  2. import thunk from 'redux-thunk';
  3. import { compact } from 'lodash';
  4. import { createLogger } from 'redux-logger';
  5. import createSagaMiddleware from 'redux-saga';
  6. import { persistStore } from 'redux-persist';
  7.  
  8. import rootReducer from './createReducer';
  9. import rootSaga from './rootSaga';
  10.  
  11. export default function configureStore() {
  12.   const sagaMiddleware = createSagaMiddleware();
  13.  
  14.   const middlewares = compact([
  15.     thunk.withExtraArgument(),
  16.     sagaMiddleware,
  17.     __DEV__ ? createLogger() : null
  18.   ]);
  19.  
  20.   let debuggWrapper = data => data;
  21.  
  22.   const store = createStore(
  23.     rootReducer,
  24.     {},
  25.     debuggWrapper(compose(applyMiddleware(...middlewares)))
  26.   );
  27.  
  28.   persistStore(
  29.     store,
  30.     null,
  31.     () =>{
  32.       store.getState();
  33.     }
  34.   );
  35.   sagaMiddleware.run(rootSaga)
  36.  
  37.   return store
  38. }
Advertisement
Add Comment
Please, Sign In to add comment