24 lines
665 B
JavaScript
24 lines
665 B
JavaScript
import { createStore, applyMiddleware } from 'redux'
|
|
import { composeWithDevTools } from 'redux-devtools-extension'
|
|
import thunkMiddleware from 'redux-thunk'
|
|
import reducers from './reducers'
|
|
|
|
// CREATING INITIAL STORE
|
|
export default function getStore(initialState) {
|
|
const store = createStore(
|
|
reducers,
|
|
initialState,
|
|
composeWithDevTools(applyMiddleware(thunkMiddleware))
|
|
)
|
|
|
|
// IF REDUCERS WERE CHANGED, RELOAD WITH INITIAL STATE
|
|
if (module.hot) {
|
|
module.hot.accept('./reducers', () => {
|
|
const createNextReducer = require('./reducers').default
|
|
|
|
store.replaceReducer(createNextReducer(initialState))
|
|
})
|
|
}
|
|
|
|
return store
|
|
}
|