OSDN Git Service

rename the sumit function
[bytom/bytom-electron.git] / src / configureStore.js
1 /*eslint-env node*/
2
3 import { createStore, applyMiddleware, compose } from 'redux'
4 import thunkMiddleware from 'redux-thunk'
5 import { routerMiddleware as createRouterMiddleware } from 'react-router-redux'
6 import { history } from 'utility/environment'
7 import { exportState, importState } from 'utility/localStorage'
8
9 import makeRootReducer from 'reducers'
10
11 const routerMiddleware = createRouterMiddleware(history)
12
13 export default function() {
14   const store = createStore(
15     makeRootReducer(),
16     importState(),
17     compose(
18       applyMiddleware(
19         thunkMiddleware,
20         routerMiddleware
21       ),
22       window.devToolsExtension ? window.devToolsExtension() : f => f
23     )
24   )
25
26   if (module.hot) {
27     // Enable Webpack hot module replacement for reducers
28     module.hot.accept('reducers', () => {
29       const newRootReducer = require('reducers').default
30       store.replaceReducer(newRootReducer())
31     })
32   }
33
34   store.subscribe(exportState(store))
35
36   return store
37 }