【React】ルーティングする【react-router-dom】

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【React】ルーティングする【react-router-dom】

2024-7-9 | ,

Reactでreact-router-domを使ってルーティングしたい!

概要

今回の記事では、Reactでreact-router-domを使ってルーティングする手順を掲載する。

仕様書

環境

  • node v21.1.0
  • npm 10.8.1
  • react 18.3.1
  • react-dom 18.3.1
  • react-router-dom 6.24.1

手順書

インストール編とルーティング編の2部構成です。

インストール編

プロジェクトにreact-app-rewiredをインストールする。

npm install --save react-router-dom

ルーティング編

index.tsxにルーティングの設定をする例。

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { Route, Routes, BrowserRouter } from 'react-router-dom';

const root = ReactDOM.createRoot(
    document.getElementById('root') as HTMLElement
);

root.render(
    <React.StrictMode>
        <BrowserRouter>
            <Routes>
                <Route path={"/"} element={<div>index!</div>} />
                <Route path={"/login"} element={<div>login!</div>} />
                <Route path={"/logout"} element={<div>logout!</div>} />
                <Route path={"/privacy"} element={<div>privacy!</div>} />
            </Routes>
        </BrowserRouter>
    </React.StrictMode>
);

reportWebVitals();

<BrowserRouter>の中の<Routes>の中にルーティングの設定毎に<Route>を配置する。

上記の設定ではURLがhttp://example.comだとするとpathの設定によって/http://example.com/loginhttp://example.com/login/logouthttp://example.com/logout/privacyhttp://example.com/privacyに対応する。対応したURLにアクセスすると対応したelelemtが表示される。

まとめ(感想文)

ASP .NET Coreの中でReactを動かしてる場合は、react-router-domがうまく動かないので注意。