Enabled HMR for reducers
This commit is contained in:
parent
5f74d0ae28
commit
2b27718493
8
src/reducers/combinedReducer.js
Normal file
8
src/reducers/combinedReducer.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { combineReducers } from 'redux';
|
||||||
|
import { routerReducer } from 'react-router-redux';
|
||||||
|
import reducers from '.';
|
||||||
|
|
||||||
|
export default combineReducers({
|
||||||
|
...reducers,
|
||||||
|
routing: routerReducer
|
||||||
|
});
|
@ -1,18 +1,20 @@
|
|||||||
import { createStore, applyMiddleware, combineReducers, compose } from 'redux';
|
import { createStore, applyMiddleware, compose } from 'redux';
|
||||||
import thunkMiddleware from 'redux-thunk';
|
import thunkMiddleware from 'redux-thunk';
|
||||||
import { routerReducer } from 'react-router-redux';
|
import reducer from '../reducers/combinedReducer';
|
||||||
import reducers from '../reducers';
|
|
||||||
|
|
||||||
const reducer = combineReducers({
|
export default function configureStore(initialState) {
|
||||||
...reducers,
|
const store = createStore(reducer, initialState, compose(
|
||||||
routing: routerReducer
|
applyMiddleware(thunkMiddleware),
|
||||||
});
|
window.devToolsExtension ? window.devToolsExtension() : f => f
|
||||||
|
));
|
||||||
|
|
||||||
const createStoreWithMiddleware = compose(
|
if (module.hot) {
|
||||||
applyMiddleware(thunkMiddleware),
|
// Enable Webpack hot module replacement for reducers
|
||||||
window.devToolsExtension ? window.devToolsExtension() : (f) => f
|
module.hot.accept('../reducers/combinedReducer', () => {
|
||||||
)(createStore);
|
const nextReducer = require('../reducers/combinedReducer') // eslint-disable-line
|
||||||
|
store.replaceReducer(nextReducer);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export default (initialState) => (
|
return store;
|
||||||
createStoreWithMiddleware(reducer, initialState)
|
}
|
||||||
);
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user