Я изучаю React и React Router. Я создал приложение, используя create-react-app
, и горячая перезагрузка работала хорошо, пока я не начал использовать react-router-dom
.
Вот мой package.json
:
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"bulma": "^0.7.2",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-router-dom": "^4.3.1",
"react-scripts": "2.0.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
]
}
index.js
:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom';
import App from './components/App/App';
const render = () => {
ReactDOM.render(
<Router>
<App />
</Router>,
document.getElementById('root')
);
};
render();
if (module.hot) {
module.hot.accept('./components/App/App', () => {
render();
});
}
App.js
:
import ...
const Home = () => (
<div>
<p className="is-size-1">Home</p>
</div>
);
class App extends Component {
render() {
return (
<Switch>
<Route path="/" exact component={Home} />
<Route path="/guests" exact component={TodaysGuests} />
</Switch>
);
}
}
export default App;
После инкапсуляции моего приложения в компоненте BrowserRouter
горячая перезагрузка больше не работает. Я должен перезагрузить сервер, чтобы увидеть какие-либо изменения. Обновление страницы не работает.
Возможна ли горячая перезагрузка? Нужно ли использовать что-то вроде react-hot-loader
?