react-router-declarative-mode
BrowserRouterを使用したReact Routerの宣言的モードでReactアプリケーションを構築します。JSXでルートを設定する場合、Link/NavLinkでナビゲーションを行う場合、またはデータローダーやアクションを使わずにURLパラメータやクエリパラメータを取得する場合に使用してください。
description の原文を見る
Build React applications using React Router's declarative mode with BrowserRouter. Use when configuring routes with JSX, navigating with Link/NavLink, or reading URL params and search params without data loaders or actions.
SKILL.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 | Link、NavLink アクティブ状態、プログラマティックナビゲーション |
references/url-values.md | パラメータ、サーチパラメータ、ロケーション読み込み |
重要なパターン
これらは従うべき最も重要なパターンです。詳細については関連する参考資料を参照してください。
基本的なルート設定
JSX を使用して <Routes> と <Route> でルートを設定します:
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 関連の情報については、公式ドキュメントを参照できます:
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- remix-run
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/remix-run/agent-skills / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。