ignite-router-flux
Version:
Infinite Red's hot boilerplate for React Native.
30 lines (24 loc) • 823 B
JavaScript
import { combineReducers } from 'redux'
import configureStore from './CreateStore'
import rootSaga from '../Sagas/'
/* ------------- Assemble The Reducers ------------- */
export const reducers = combineReducers({
search: require('./SearchRedux').reducer,
startup: require('./StartupRedux').reducer,
auth: require('./AuthRedux').reducer
})
export default () => {
let { store, sagasManager, sagaMiddleware } = configureStore(reducers, rootSaga)
if (module.hot) {
module.hot.accept(() => {
const nextRootReducer = require('./').reducers
store.replaceReducer(nextRootReducer)
const newYieldedSagas = require('../Sagas').default
sagasManager.cancel()
sagasManager.done.then(() => {
sagasManager = sagaMiddleware.run(newYieldedSagas)
})
})
}
return store
}