react-router-declarative-mode by remix-run/agent-skills
npx skills add https://github.com/remix-run/agent-skills --skill react-router-declarative-mode声明式模式是 React Router 最简模式,使用 <BrowserRouter>、<Routes> 和 <Route> 实现基本的客户端路由,不包含加载器或操作等数据加载功能。
<BrowserRouter> 进行路由<Routes> 和 <Route> 配置路由<Link>、<NavLink> 或 useNavigate 进行导航广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
useParams 读取 URL 参数useSearchParams 处理搜索参数useLocation 访问位置信息加载相关参考以获取特定 API/概念的详细指导:
| 参考文档 | 适用场景 |
|---|---|
references/routing.md | 配置路由、嵌套路由、动态参数 |
references/navigation.md | 链接、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 实现带激活样式的导航:
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>
);
}
使用 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 相关的内容,您可以搜索官方文档:
每周安装量
149
代码仓库
GitHub 星标数
104
首次出现
2026年2月2日
安全审计
安装于
opencode129
github-copilot127
codex126
gemini-cli119
kimi-cli114
amp114
Declarative mode is React Router's simplest mode using <BrowserRouter>, <Routes>, and <Route> for basic client-side routing without data loading features like loaders or actions.
<BrowserRouter> for routing<Routes> and <Route><Link>, <NavLink>, or useNavigateuseParamsuseSearchParamsuseLocationLoad the relevant reference for detailed guidance on the specific API/concept:
| Reference | Use When |
|---|---|
references/routing.md | Configuring routes, nested routes, dynamic params |
references/navigation.md | Links, NavLink active states, programmatic nav |
references/url-values.md | Reading params, search params, location |
These are the most important patterns to follow. Load the relevant reference for full details.
Configure routes with JSX using <Routes> and <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>
);
}
Use NavLink for navigation with active styling:
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>
);
}
Use useParams to read dynamic route segments:
import { useParams } from "react-router";
function User() {
const { userId } = useParams();
return <h1>User {userId}</h1>;
}
Use useSearchParams for query string values:
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>
);
}
If anything related to React Router is not covered in these references, you can search the official documentation:
Weekly Installs
149
Repository
GitHub Stars
104
First Seen
Feb 2, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode129
github-copilot127
codex126
gemini-cli119
kimi-cli114
amp114
UI组件模式实战指南:构建可复用React组件库与设计系统
10,700 周安装
NotebookLM Python库:自动化访问Google NotebookLM,实现AI内容创作与文档处理
1,700 周安装
Gemini Interactions API 指南:统一接口、智能体交互与服务器端状态管理
1,900 周安装
GitHub问题自动排查与TDD修复计划生成工具 - 智能问题诊断与测试驱动开发
2,200 周安装
GSAP 框架集成指南:Vue、Svelte 等框架中 GSAP 动画最佳实践
3,200 周安装
Claude文件规划系统:用Markdown文件实现持久化工作记忆,提升AI编程效率
3,400 周安装
GSAP React 动画库使用指南:useGSAP Hook 与最佳实践
3,400 周安装