数ある質問から、こちらを見ていただき、ありがとうございます。
やってること
React Router を使って ルーティング を設定しています。
困っていること
以下のソースコードで、ルーティングを設定すると
URLでの反映で(https://~~~~~/about)とルーティングができています。
しかし、手動でリロードをしないと、ページ画面が反映されません。
なので、ソースコードについて アドバイス・ご指摘 があれば教えてください。
また、他に必要なソースコードがあればお見せします。
よろしくお願いします。
App.js
App.js
1import React from 'react'; 2import { Router, Route, Switch } from 'react-router-dom'; 3import { Home, About} from './components/index'; 4import Error from "./components/Error/404"; 5import history from './history'; 6import HeaderBody from './components/Common/HeaderBody'; 7 8const App = () => { 9return( 10<Router history={history}> 11<div> 12<HeaderBody /> 13 <Switch> 14 <Route exact path='/' component={Home} /> 15 <Route path='/About' component={About} /> 16 <Route component={Error} /> 17 </Switch> 18 </div> 19 </Router> 20); 21} 22 23export default App;
HeaderBody.js
HeaderBody.js
1import React, { useEffect } from 'react'; 2import Logo from '../../assets/img/src/logo.png'; 3import { makeStyles } from '@material-ui/core/styles'; 4import { BrowserRouter, Link } from 'react-router-dom'; 5 6 return( 7<header className={classes.header}> 8 <BrowserRouter> 9 <h1 className={classes.logoStyle}><Link to='/'><img className={classes.logo} src={Logo} 10 alt="portfolio"/></Link></h1> 11 12 <div className={classes.lists} id="nav-ul"> 13 <div className={classes.list}> 14 <p><Link to='/About'>アイコン</Link></p> 15 <p><Link to='/About'><span>About</span></Link></p> 16 </div> 17 </div> 18</BrowserRouter> 19 </header> 20 21 ) 22} 23export default HeaderBody;
history.js
history.js
1import { createBrowserHistory } from 'history'; 2 3export default createBrowserHistory();
あなたの回答
tips
プレビュー