generated at
React Router
ReactSPAでルーティングしようとするときに使われてるデファクトっぽいライブラリ

分かりやすくないので、正直あまり好きではない
htmlファイル一個作ってaタグ書くだけだったはずの作業がなんでこんなことに
<Redirect> とか、コンポーネントで考えない方がいいんじゃないか

Material-UIと組み合わせたりすると、もう頭の中がぐっちゃぐちゃ

おおざっぱに言うと
1. Routerで全部をかこって
<BrowserRouter> とか <HashRouter> とか
なんか特殊なhistoryオブジェクトをごにょごにょしてくれるらしい
2. routingごとに表示したい内容をRouteで定義して
3. Linkでリンクする

Route
locationのpathnameが <Route> path propと比較され、マッチした場合に当該 <Route> の中身がrenderされる
マッチしなかったやつはnullがrenderされる
jsx
<Route path='/about' component={About}/> <Route path='/contact' component={Contact}/> <Route component={Always}/>

<Switch> で囲った場合、その中の最初にマッチしたやつだけがrenderされる
jsx
<Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> {/* when none of the above match, <NoMatch> will be rendered */} <Route component={NoMatch} /> </Switch>