Community编程与开发github.com

Anuragg13/AiResumeAnalyzer

使用 React Router 的框架模式、数据模式、声明式模式和不稳定的 RSC 模式构建应用程序。适用于配置路由、路由模块、加载器、操作、表单、数据获取器、导航、待定 UI、SSR/SPA/预渲染、中间件、URL 参数/搜索参数或 React Router 升级。

AiResumeAnalyzer 是什么?

此技能提供针对 React Router 不同运行模式的明确指导,帮助开发者在框架模式、数据模式、声明式模式以及不稳定的 RSC 模式下正确配置和使用路由。技能的核心价值在于帮助用户避免因跨模式误用而导致的问题,例如将框架/数据模式下的模式错误地应用于声明式应用。它通过检查项目中的依赖、配置文件(如 react-router.config.ts)、目录结构(如 app/routes/)以及特定的导出(如 loader、action、ErrorBoundary)来识别当前应用所处的模式,然后自动加载相应的参考文档。技能支持所有主要的 React Router 平台,包括 Vite、Remix 风格的框架模式,以及基于 createBrowserRouter 的数据模式和基于 <BrowserRouter> 的声明式模式。此外,它还处理模式迁移,提供从声明式到数据模式、从声明式/数据模式到框架模式、以及 SPA/SSR/预渲染变更的详细文档索引。该技能强调使用本地安装的文档(node_modules/react-router/docs/)作为唯一真实来源,以确保指导与特定包版本完全匹配。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Anuragg13/AiResumeAnalyzer/tree/HEAD/.agents/skills/react-router

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

React Router

React Router 是模式特定的。在更改应用之前,请先识别模式,加载匹配的参考文档,然后阅读已安装包版本对应的文档。

识别模式

请勿将框架/数据模式下的模式应用于声明式应用,除非你是有意迁移模式。

框架模式

当看到以下内容时,使用框架模式指导:

  • 依赖中包含 @react-router/dev
  • react-router.config.ts
  • app/routes.ts
  • app/entry.server.tsx 和/或 app/entry.client.tsx 文件
  • app/routes/ 下的路由模块
  • 路由导出如 loader、action、clientLoader、clientAction、ErrorBoundary、meta、links 或 headers
  • 从 ./+types/... 导入
  • 来自 @react-router/dev/vite 的 React Router Vite 插件

框架示例通常使用默认的 app/ 目录,但在假设确切路径之前,请检查 react-router.config.ts 中的自定义 appDirectory。

然后阅读 references/framework-mode.md。

数据模式

当看到以下内容时,使用数据模式指导:

  • createBrowserRouter、createHashRouter、createMemoryRouter 或 createStaticRouter
  • <RouterProvider router={router}>
  • 具有 path、children、loader、action、Component、ErrorBoundary 或 lazy 等属性的路由对象
  • 不带框架 Vite 插件的数据 API

然后阅读 references/data-mode.md。

声明式模式

当看到以下内容时,使用声明式模式指导:

  • <BrowserRouter>、<HashRouter> 或 <MemoryRouter>
  • <Routes> 和 <Route> JSX 路由配置
  • 通过 element={<Component />} 传递的路由组件
  • 无数据路由器、无路由模块约定、无加载器/操作

然后阅读 references/declarative-mode.md。

RSC 框架模式和 RSC 数据模式

React 服务器组件支持尚不稳定,并且存在于框架和数据两种变体中。当看到以下内容时,使用 RSC 指导:

  • unstable_reactRouterRSC
  • @vitejs/plugin-rsc
  • unstable_RSCRouteConfig
  • RSC 入口文件,例如 entry.rsc
  • ServerComponent、ServerErrorBoundary、ServerLayout 或 ServerHydrateFallback
  • React 指令或边界包,例如 "use client"、"server-only" 或 "client-only"

对于 RSC 框架模式,请同时阅读 references/framework-mode.md 和 references/rsc.md。 对于 RSC 数据模式,请同时阅读 references/data-mode.md 和 references/rsc.md。

将已安装的文档作为唯一真实来源

React Router 在包中附带 markdown 文档,以便指导与已安装版本相匹配:

node_modules/react-router/docs/

关键文档路径:

node_modules/react-router/docs/index.md
node_modules/react-router/docs/start/
node_modules/react-router/docs/how-to/
node_modules/react-router/docs/explanation/
node_modules/react-router/docs/upgrading/

当此技能引用 react-router/docs/... 时,请阅读 node_modules/react-router/docs/ 下对应的文件。如果已安装的版本不包含本地文档,则在 React Router 仓库内工作时使用仓库的 docs/ 目录;在消费应用中,则回退到版本匹配的网站文档。

大多数文档在顶部附近包含一个模式标记:

[MODES: framework, data, declarative]

仅当文档的模式标记与应用模式匹配时才应用该文档。如果任务跨越多个模式,优先选择与当前应用匹配的部分或文件。

RSC 主要在以下文件中记录:

node_modules/react-router/docs/how-to/react-server-components.md

技能参考文档

识别模式后,加载相关的参考文档:

参考文档使用场景
references/framework-mode.md框架模式或 RSC 框架模式的基础行为
references/data-mode.md数据模式或 RSC 数据模式的基础行为
references/declarative-mode.md声明式模式
references/rsc.md任何不稳定的 RSC 应用

模式迁移文档索引

如果用户明确要求切换模式,请阅读目标模式的参考文档以及迁移相关的文档:

迁移需要阅读的文档
声明式 → 数据react-router/docs/start/modes.md、react-router/docs/start/data/routing.md、react-router/docs/start/data/data-loading.md、react-router/docs/start/data/actions.md
声明式/数据 → 框架react-router/docs/start/modes.md、react-router/docs/start/framework/routing.md、react-router/docs/start/framework/route-module.md、react-router/docs/how-to/route-module-type-safety.md
框架 SPA/SSR/预渲染更改react-router/docs/start/framework/rendering.md、react-router/docs/how-to/spa.md、react-router/docs/how-to/pre-rendering.md、react-router/docs/start/framework/data-loading.md、react-router/docs/start/framework/actions.md
未来标志/升级react-router/docs/upgrading/future.md 以及 react-router/docs/upgrading/ 下的相关文件

相关技能