ホーム/前端开发/react-router-v7
R

react-router-v7

by @existential-birdsv
4.8(102)

React Router v7のベストプラクティス(ルーター設定を含む)のクイックリファレンスを提供します。

React Router v7React.jsFrontend RoutingSPA DevelopmentGitHub
インストール方法
npx skills add existential-birds/beagle --skill react-router-v7
compare_arrows

Before / After 効果比較

1
使用前

React Router v7の設定は複雑でエラーが発生しやすく、フロントエンドアプリケーションの開発効率に影響を与えます。ルーティング管理が不適切だと、ユーザーエクスペリエンスが低下します。

使用後

React Router v7のベストプラクティスを提供し、ルーター設定を簡素化します。フロントエンドのルーティング管理を最適化し、開発効率を向上させ、ユーザーエクスペリエンスを改善します。

description SKILL.md

react-router-v7

React Router v7 Best Practices

Quick Reference

Router Setup (Data Mode):

import { createBrowserRouter, RouterProvider } from "react-router";

const router = createBrowserRouter([
  {
    path: "/",
    Component: Root,
    ErrorBoundary: RootErrorBoundary,
    loader: rootLoader,
    children: [
      { index: true, Component: Home },
      { path: "products/:productId", Component: Product, loader: productLoader },
    ],
  },
]);

ReactDOM.createRoot(root).render(<RouterProvider router={router} />);

Framework Mode (Vite plugin):

// routes.ts
import { index, route } from "@react-router/dev/routes";

export default [
  index("./home.tsx"),
  route("products/:pid", "./product.tsx"),
];

Route Configuration

Nested Routes with Outlets

createBrowserRouter([
  {
    path: "/dashboard",
    Component: Dashboard,
    children: [
      { index: true, Component: DashboardHome },
      { path: "settings", Component: Settings },
    ],
  },
]);

function Dashboard() {
  return (
    <div>
      <h1>Dashboard</h1>
      <Outlet /> {/* Renders child routes */}
    </div>
  );
}

Dynamic Segments and Splats

{ path: "teams/:teamId" }           // params.teamId
{ path: ":lang?/categories" }       // Optional segment
{ path: "files/*" }                 // Splat: params["*"]

Key Decision Points

Form vs Fetcher

Use <Form>: Creating/deleting with URL change, adding to history Use useFetcher: Inline updates, list operations, popovers - no URL change

Loader vs useEffect

Use loader: Data before render, server-side fetch, automatic revalidation Use useEffect: Client-only data, user-interaction dependent, subscriptions

Additional Documentation

Mode Comparison

Feature Framework Mode Data Mode Declarative Mode

Setup Vite plugin createBrowserRouter <BrowserRouter>

Type Safety Auto-generated types Manual Manual

SSR Support Built-in Manual Limited

Use Case Full-stack apps SPAs with control Simple/legacy

Weekly Installs222Repositoryexistential-birds/beagleGitHub Stars40First SeenJan 20, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onopencode161gemini-cli157github-copilot156codex152cursor124claude-code120

forumユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数2.7K
評価4.8 / 5.0
バージョン
更新日2026年3月17日
比較事例1 件

ユーザー評価

4.8(102)
5
0%
4
0%
3
0%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code
🔧OpenClaw
🔧OpenCode
🔧Codex
🔧Gemini CLI
🔧GitHub Copilot
🔧Amp
🔧Kimi CLI

タイムライン

作成2026年3月17日
最終更新2026年3月17日