mcpField
R
react-router-declarative-mode

react-router-declarative-mode

github.com/remix-run開発134680 回インストール19 週間前に更新
リポジトリ

react-router-declarative-mode について

React Router Declarativeモードで基本的なクライアントサイドルーティングを行う開発者向けのガイダンススキルです。loaderやactionによるデータ機能ではなく、ルート設定、ナビゲーション、URL値の取得を扱います。

主な機能

  1. 01JSXによるルート設定
  2. 02クライアントサイドナビゲーションの指針
  3. 03ルートとURLパラメーターへのアクセス
  4. 04検索パラメーターの処理
  5. 05ルーティングに特化した参考資料

活用シーン

  1. 01基本的なクライアントサイドルートの設定
  2. 02アクティブ状態のナビゲーションリンク追加
  3. 03ルートパラメーターの取得
  4. 04クエリー文字列の処理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/remix-run/agent-skills --skill react-router-declarative-mode

インストール後、Claude Code で/react-router-declarative-modeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
navigation.md
routing.md
url-values.md

詳細

React Router 宣言的モード

宣言的モードは、ローダーやアクションなどのデータ読み込み機能を使わずに、クライアントサイドの基本的なルーティングを行うための、React Router の最もシンプルなモードです。<BrowserRouter>、<Routes>、<Route> を使用します。

適用する場面

  • ルーティングに <BrowserRouter> を使用する
  • <Routes> と <Route> でルートを設定する
  • <Link>、<NavLink>、または useNavigate で移動する
  • useParams で URL パラメーターを読み取る
  • useSearchParams で検索パラメーターを扱う
  • useLocation でロケーションにアクセスする

リファレンス

特定の API や概念について詳しく知るには、該当するリファレンスを参照してください。

リファレンス使用する場面
references/routing.mdルート、ネストされたルート、動的パラメーターの設定
references/navigation.mdリンク、NavLink のアクティブ状態、プログラムによる移動
references/url-values.mdパラメーター、検索パラメーター、ロケーションの読み取り

重要なパターン

以下は、特に重要なパターンです。詳細については、該当するリファレンスを参照してください。

基本的なルート設定

<Routes> と <Route> を使って JSX でルートを設定します。

import { BrowserRouter, Routes, Route } from "react-router";

function App() {
  return (
    <BrowserRouter>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="about" element={<About />} />
        <Route path="dashboard" element={<Dashboard />}>
          <Route index element={<DashboardHome />} />
          <Route path="settings" element={<Settings />} />
        </Route>
        <Route path="users/:userId" element={<User />} />
      </Routes>
    </BrowserRouter>
  );
}
NavLink のアクティブ状態

アクティブ時のスタイルを適用したナビゲーションには、NavLink を使用します。

import { NavLink } from "react-router";

function Nav() {
  return (
    <nav>
      <NavLink
        to="/"
        end
        className={({ isActive }) => (isActive ? "active" : "")}
      >
        Home
      </NavLink>
      <NavLink
        to="/dashboard"
        className={({ isActive }) => (isActive ? "active" : "")}
      >
        Dashboard
      </NavLink>
    </nav>
  );
}
URL パラメーターの読み取り

動的なルートセグメントを読み取るには、useParams を使用します。

import { useParams } from "react-router";

function User() {
  const { userId } = useParams();
  return <h1>User {userId}</h1>;
}
検索パラメーターの扱い

クエリー文字列の値には、useSearchParams を使用します。

import { useSearchParams } from "react-router";

function SearchResults() {
  const [searchParams, setSearchParams] = useSearchParams();
  const query = searchParams.get("q");

  return (
    <div>
      <input
        value={query || ""}
        onChange={(e) => setSearchParams({ q: e.target.value })}
      />
      <p>Results for: {query}</p>
    </div>
  );
}

その他のドキュメント

React Router に関する内容がこれらのリファレンスで扱われていない場合は、公式ドキュメントを検索してください。

https://reactrouter.com/docs

コメント