目次
React Routerとは?
React Routerは、Reactアプリケーションでルーティングを実現するためのライブラリです。React Routerを使用すると、ユーザーがアプリケーション内を移動したときに、アプリケーションが適切なコンポーネントをレンダリングすることができます。
ページ毎に異なるコンポーネントで構成されているためURLとコンポーネントを紐づける仕組みが必要となります。その役割を担うのがReact Routerです。
React Routerのメリット
1、シングルページアプリケーション(SPA)の実現
2、コンポーネントベースのルーティング
3、履歴の管理
4、拡張性
1、シングルページアプリケーション(SPA)の実現
React Routerは、Reactアプリケーション内でルーティングを管理することで、SPAの実現が容易になります。React Routerを使用すると、ページの再読み込みが発生せずに、アプリケーション内をスムーズに移動することができます。
2、コンポーネントベースのルーティング
React Routerは、コンポーネントベースのルーティングを提供するため、Reactアプリケーションの開発をより柔軟にすることができます。React Routerを使用することで、URLパスに基づいて特定のコンポーネントをレンダリングすることができます。
3、履歴の管理
React Routerは、ブラウザ履歴を管理することができます。これにより、ユーザーが戻る/進むボタンを使用して、ページの履歴を辿ることができます。
4、拡張性
React Routerは、プラグインアーキテクチャを採用しており、拡張性が高いことが特徴です。React Routerには、多数のコミュニティ製のプラグインが存在し、これらを使用することで、Reactアプリケーションの開発をより簡単にすることができます。
React Routerの主なコンポーネント
React Routerには、次の4つの主要なコンポーネントがあります。
<BrowserRouter>
- React Routerアプリケーションのルートとして使用することができるコンポーネントです。通常、これはアプリケーションの最上位に配置されます。
<Link>
:リンクを提供し、ユーザーが別のURLに移動できるようにします。<Switch>
:複数の<Route>
コンポーネントを包含することができ、URLパスに一致する最初のルートだけをレンダリングすることができます。<Switch>
コンポーネントは、ルートの優先順位を決定するために使用されます。<Route>
:URLパスに一致する場合にレンダリングするコンポーネントを定義するために使用されます。
React Routerを使用したルーティング設定
import React from "react";
import { BrowserRouter, Link, Switch, Route } from "react-router-dom";
import { Home } from "./components/Home";
import { About } from "./components/About";
import { Contact } from "./components/Contact";
export default function App() {
return (
<BrowserRouter>
<div className="App">
<Link to="/">Home</Link>
<br />
<Link to="/about">About</Link>
<br />
<Link to="/contact">Contact</Link>
</div>
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route path="/about">
<About />
</Route>
<Route path="/contact">
<Contact />
</Route>
</Switch>
</BrowserRouter>
);
}
export const Home = () => {
return (
<div>
<h1>Homeです</h1>
</div>
);
};
export const About = () => {
return (
<div>
<h1>Aboutページです</h1>
</div>
);
};
export const Contact = () => {
return (
<div>
<h1>Contactページです</h1>
</div>
);
};