Как включить горячую замену модуля с помощью приложения Create React + Redux - PullRequest
1 голос
/ 30 октября 2019

Я хотел бы включить горячую замену модуля в своем веб-приложении, чтобы ускорить время разработки.

Я следовал этой статье: https://duske.me/setting-up-hot-module-replacement-with-create-react-app-and-redux/

И я переписалмой index.js

import React from 'react';
import ReactDOM from 'react-dom';
import {render} from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import {Provider,connect} from 'react-redux';
import FirebaseConfig from './FirebaseConfig';
import firebase from 'firebase';
import configureStore from './configureStore';

firebase.initializeApp(FirebaseConfig);
const store = configureStore();

render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
)

serviceWorker.unregister();

и я создал configureStore.js :

import {createStore,applyMiddleware} from 'redux';
import reducer from './reducers';
import thunk from 'redux-thunk';
import {composeWithDevTools} from 'redux-devtools-extension' // REDUX DEVTOOLS

const configureStore = ()=> {
  const store = createStore(reducer,composeWithDevTools(applyMiddleware(thunk)));
  if (module.hot) {
    module.hot.accept('./reducers/index', () => {
      const nextRootReducer = require('./reducers/index').default;
      store.replaceReducer(nextRootReducer);
    });
  }
  return store
}

export default configureStore;

PS. 'redurs / index.js' - это файл, в котором у меня есть экспорт по умолчанию для моего root-редуктора (достигается путем объединения всех редукторов с помощью функции CombReducers ())

Но, похоже, ничего не работает. Я что-то пропустил ?

...