Reactのルーターについての基本!!
基本形
import React from "react";
import { Link } from "react-router-dom";
export default function App() {
return (
<div>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
<Link to="/users">Users</Link>
</div>
);
}
コンポーネント
全てreact-router-domからimportする必要がある
1. routers
<BrowserRouter>
: 通常のURLパスを使用
<HashRouter>
: URLにhashを含むパスを使用(e.g. http://example.com/#/your/page)
2. Route Matchers
<Switch>
の中で<Route>
を使う。現在のページが<Route>
に記載されているページと同じならページ遷移しない。
ポイント
途中まで同じURLの時はより詳細の方を先に書く
Route exact path=
を使えば書く順番は問わない。
<Route path="/contact/:id">
<Contact />
</Route>
<Route path="/contact">
<AllContacts />
</Route>
3. Navigation
<NavLink>
: パスが変わらなくても押せばアクティブになる
Scroll
<ScrollToTop>
TOPにスクロール
export default function ScrollToTop() {
const { pathname } = useLocation();
useEffect(() => {
window.scrollTo(0, 0);
}, [pathname]);
return null;
}