rsnext/examples/with-redux-thunk/store.js

25 lines
665 B
JavaScript
Raw Normal View History

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
}