HMR не включен для приложений, инициированных с помощью create-react-app
. Существует сообщение в блоге о том, как можно включить его здесь: http://chrisshepherd.me/posts/adding-hot-module-reloading-to-create-react-appHMR для создания-реакции-приложения с реакцией-редукцией
ReactDOM.render(
<App />,
rootEl
);
if (module.hot) {
module.hot.accept('./App',() => {
const NextApp = require('./App').default;
ReactDOM.render(
<NextApp />,
rootEl
);
});
}
Я пытаюсь сделать что-то подобное, хотя я добавил redux
и react-router-redux
к смеси:
App.js
import React from 'react'
import { Provider } from 'react-redux'
import store from './store/store'
import routes from './routes'
const App = (
<Provider store={store}>
{ routes }
</Provider>
);
export default App;
routes.js
import React from 'react';
import { browserHistory, Router, Route } from 'react-router';
import { syncHistoryWithStore } from 'react-router-redux';
import store from '../store/store';
import { AnonymousLayout } from '../layouts';
import { LoginForm } from './Login';
const history = syncHistoryWithStore(browserHistory, store);
export default (
<Router history={history}>
<Route path="/" component={AnonymousLayout}>
<Route path="/login" component={LoginForm} />
</Route>
</Router>
);
index.js
import React from 'react'
import ReactDOM from 'react-dom'
import App from './client/App';
const rootEl = document.getElementById('root');
ReactDOM.render(
App,
rootEl
);
if (module.hot) {
module.hot.accept('./client/App',() => {
const NextApp = './client/App';
ReactDOM.render(
<NextApp />,
rootEl
);
});
}
Однако, я получаю эту ошибку:
Warning: [react-router] You cannot change <Router routes>; it will be ignored
Есть ли какой-то способ взломать HMR в этот проект?
Это еще проще. Проверьте: https://stackoverflow.com/a/46830787/2668045 –
это еще проще. Пожалуйста, проверьте: https://stackoverflow.com/a/46830787/2668045 –
это еще проще. Пожалуйста, проверьте: https://stackoverflow.com/a/46830787/2668045 –