Router DOM V 4−以前の書き方をまとめておく



これは何
V 6以前の書き方のまとめ.
ルータとしてのブラウザールータ
スイッチ
ルート
リンク
の使い方
V 6からは大きく異なる.

電総研でプロジェクト作成
https://reactrouter.com/web/guides/quick-start:embed:cite
npx create-react-app react-router 

Success! Created react-router at /Users/kaede0902/code/react-router
Inside that directory, you can run several commands:

  yarn start
    Starts the development server.

クリエイトアプリで作って
npm start

Compiled successfully!

You can now view react-router in the browser.

  Local:            http://localhost:3000
  On Your Network:  http://192.168.3.61:3000

Note that the development build is not optimized.
To create a production build, use yarn build.

NPMスタートで 反応する本体の動作確認

反応ルータを入れる
npm i react-router-dom

added 13 packages, changed 6 packages, and audited 1721 packages in 31s

ルータ、スイッチ、ルート、リンクを 輸入する
アプリ.jsで
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom";
これらを 輸入する

アプリで ルートを組む
export default function App() {
  return (
    <Router >
      <li>
        <Link to='/'>Home</Link>
      </li>
      <li>
        <Link to='/about'>About</Link>
      </li>
      <Switch>
        <Route path="/about">
          <About />
        </Route>
        <Route path="/">
          <Home />
        </Route>
      </Switch>
    </Router>
  );
}
アプリで ルータで囲って、最初に 共通部分として リンクを置いておく
その下に スイッチで
アバウトの時は <About />/の時は <Home />をスイッチさせる

ホームと アバウトのコンポーネントを書く
function Home() {
  return <h2>Home</h2>;
}

function About() {
  return <h2>About</h2>;
}

ホームと アバウトが呼ばれた時に出すものは下に書く.

実際に //aboutにアクセスしてみる
これで
/の時は <Home />/aboutの時は <About />これらの URLと 呼び出される コンポーネントの切り替えを書ける.

まとめ
反応ルータを使い、URLと コンポーネントを対応させるには
<Router >
  <Switch>
    <Route path="/about">
      <About />
    </Route>
    <Route path="/">
      <Home />
    </Route>
  </Switch>
</Router>
このように ルータに スイッチを仕込んで、
その中に ルートで URLの パスと、それに対応する コンポーネントを結びつける.
function Home() {
  return <h2>Home</h2>;
}

function About() {
  return <h2>About</h2>;
}
これで 経路の URLにアクセスしたときに、これらのコンポーネントが呼び出される.