rsnext/examples/with-redux-thunk/store.js
2020-05-18 17:44:18 -04:00

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
}