create-react-app
で初期化されたアプリではHMRが有効になっていません。 1は、ここでそれを有効にする方法についてのブログ記事があります:http://chrisshepherd.me/posts/adding-hot-module-reloading-to-create-react-appレスキューレックスを使用したcreate-react-appのHMR
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 –