HMR ist nicht für Apps aktiviert, die mit create-react-app
gestartet wurden. Es gibt einen Blog-Post über, wie man es hier aktivieren: http://chrisshepherd.me/posts/adding-hot-module-reloading-to-create-react-appHMR für create-react-app mit react-redux
ReactDOM.render(
<App />,
rootEl
);
if (module.hot) {
module.hot.accept('./App',() => {
const NextApp = require('./App').default;
ReactDOM.render(
<NextApp />,
rootEl
);
});
}
Ich versuche, etwas ähnliches zu tun, obwohl ich redux
und react-router-redux
zur Mischung hinzugefügt haben:
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
);
});
}
Allerdings bekomme ich nur diesen Fehler:
Warning: [react-router] You cannot change <Router routes>; it will be ignored
Gibt es eine Möglichkeit HMR in dieses Projekt zu hacken?
Es ist jetzt noch einfacher. Bitte überprüfen Sie: https://stackoverflow.com/a/46830787/2668045 –
es ist jetzt noch einfacher. Bitte überprüfen Sie: https://Stackoverflow.com/a/46830787/2668045 –
es ist jetzt noch einfacher. Bitte überprüfen Sie: https://Stackoverflow.com/a/46830787/2668045 –