Я пытаюсь сделать redux-persist горячая перезагрузка.
Вот инструкции:
https://github.com/rt2zz/redux-persist/blob/master/docs/hot-module-replacement.md
Я пробовалчтобы сделать это так, и он не загружается в горячем режиме.
Я установил отладчик и console.log внутри функции accept, но он не ломается и не регистрируется (не уверен, что веб-пакет может их игнорировать или удалять):
export default () => {
if (module.hot) {
debugger; // eslint-disable-line
module.hot.accept('./reducers', () => {
debugger; // eslint-disable-line
// This fetch the new state of the above reducers.
const nextRootReducer = require('./reducers').default; // eslint-disable-line
console.log(nextRootReducer);
store.replaceReducer(
persistReducer(persistConfig, nextRootReducer),
);
});
}
return { store, persistor };
};
Это моя полная конфигурация:
/* globals require */
import { createStore as reduxCreateStore, applyMiddleware } from 'redux';
import createSagaMiddleware from 'redux-saga';
import { composeWithDevTools } from 'redux-devtools-extension';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
import rootReducer from './reducers';
import rootSaga from './sagas/sagas';
const sagaMiddleware = createSagaMiddleware();
const persistConfig = {
key: 'root',
storage,
};
const persistedReducer = persistReducer(persistConfig, rootReducer);
const createStore = () => reduxCreateStore(
persistedReducer,
composeWithDevTools(
applyMiddleware(sagaMiddleware),
),
);
const store = createStore();
const persistor = persistStore(store);
sagaMiddleware.run(rootSaga);
export default () => {
if (module.hot) {
debugger; // eslint-disable-line
module.hot.accept('./reducers', () => {
debugger; // eslint-disable-line
// This fetch the new state of the above reducers.
const nextRootReducer = require('./reducers').default; // eslint-disable-line
console.log(nextRootReducer);
store.replaceReducer(
persistReducer(persistConfig, nextRootReducer),
);
});
}
return { store, persistor };
};
Должен ли я сделать что-то по-другому?
Я использую gatsby, если это имеет какое-либо значение без какой-либо соответствующей модификации конфигурации по умолчанию.