mcpField
R
react-router-declarative-mode

react-router-declarative-mode

github.com/remix-run开发134680 次安装19 周前更新
代码仓库

关于 react-router-declarative-mode

面向使用 React Router Declarative 模式进行基础客户端路由的开发者,聚焦路由配置、导航和 URL 值读取,不涵盖 loader 或 action 数据功能。

主要功能

  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> 实现基本的客户端路由,不包含 loader 或 action 等数据加载功能。

适用场景

  • 使用 <BrowserRouter> 进行路由
  • 使用 <Routes> 和 <Route> 配置路由
  • 使用 <Link>、<NavLink> 或 useNavigate 进行导航
  • 使用 useParams 读取 URL 参数
  • 使用 useSearchParams 处理搜索参数
  • 使用 useLocation 访问 location

参考资料

加载相关参考资料,了解特定 API/概念的详细指南:

参考资料适用场景
references/routing.md配置路由、嵌套路由、动态参数
references/navigation.md链接、NavLink 激活状态、编程式导航
references/url-values.md读取参数、搜索参数、location

关键模式

以下是最重要的模式。加载相关参考资料以查看完整详情。

基本路由设置

使用 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 的相关内容,可以搜索官方文档:

https://reactrouter.com/docs

评论

支持 Markdown