React Router
React Router es específico del modo. Antes de modificar una aplicación, identifica el modo, carga la referencia correspondiente y luego lee la documentación instalada para la versión del paquete instalado.
Identificar el Modo
No apliques patrones de Framework/Data a una aplicación Declarative a menos que estés migrando modos intencionalmente.
Modo Framework
Usa las guías de Modo Framework cuando veas:
@react-router/deven las dependenciasreact-router.config.tsapp/routes.ts- archivos
app/entry.server.tsxy/oapp/entry.client.tsx - módulos de ruta bajo
app/routes/ - exportaciones de ruta como
loader,action,clientLoader,clientAction,ErrorBoundary,meta,linksoheaders - importaciones desde
./+types/... - el plugin Vite de React Router desde
@react-router/dev/vite
Los ejemplos de Framework suelen usar el directorio app/ predeterminado, pero verifica react-router.config.ts para un appDirectory personalizado antes de asumir rutas exactas.
Luego lee references/framework-mode.md.
Modo Data
Usa las guías de Modo Data cuando veas:
createBrowserRouter,createHashRouter,createMemoryRouterocreateStaticRouter<RouterProvider router={router}>- objetos de ruta con propiedades como
path,children,loader,action,Component,ErrorBoundaryolazy - APIs de data sin el plugin Vite de Framework
Luego lee references/data-mode.md.
Modo Declarative
Usa las guías de Modo Declarative cuando veas:
<BrowserRouter>,<HashRouter>o<MemoryRouter>- configuración de rutas JSX con
<Routes>y<Route> - componentes de ruta pasados con
element={<Component />} - sin data router, sin convención de módulo de ruta y sin loaders/actions
Luego lee references/declarative-mode.md.
Modos RSC Framework y RSC Data
El soporte de React Server Components es inestable y existe tanto en variante Framework como Data. Usa las guías de RSC cuando veas:
unstable_reactRouterRSC@vitejs/plugin-rscunstable_RSCRouteConfig- archivos de entrada RSC como
entry.rsc ServerComponent,ServerErrorBoundary,ServerLayoutoServerHydrateFallback- directivas React o paquetes de límite como
"use client","server-only"o"client-only"
Para RSC Framework, lee tanto references/framework-mode.md como references/rsc.md.
Para RSC Data, lee tanto references/data-mode.md como references/rsc.md.
Usar la Documentación Instalada como Fuente de Verdad
React Router incluye documentación markdown en el paquete para que las guías coincidan con la versión instalada:
node_modules/react-router/docs/
Rutas clave de documentación:
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/
Cuando este skill haga referencia a react-router/docs/..., lee el archivo correspondiente bajo node_modules/react-router/docs/. Si la versión instalada no incluye documentación local, usa el directorio docs/ del repositorio cuando trabajes dentro del repositorio de React Router; en una aplicación consumidora, recurre a la documentación del sitio web que coincida con la versión.
La mayoría de los documentos incluyen un marcador de modo cerca de la parte superior:
[MODES: framework, data, declarative]
Solo aplica un documento cuando su marcador de modo coincida con el modo de la aplicación. Si una tarea abarca varios modos, prefiere la sección o archivo que coincida con el modo actual.
RSC se documenta principalmente en:
node_modules/react-router/docs/how-to/react-server-components.md
Referencias del Skill
Carga la referencia relevante después de identificar el modo:
| Referencia | Úsala Cuando |
|---|---|
references/framework-mode.md | Modo Framework o comportamiento base de RSC Framework |
references/data-mode.md | Modo Data o comportamiento base de RSC Data |
references/declarative-mode.md | Modo Declarative |
references/rsc.md | Cualquier aplicación RSC inestable |
Índice de Documentos de Migración de Modo
Si el usuario solicita explícitamente cambiar de modo, lee la referencia del modo destino más los documentos relevantes de migración:
| Migración | Documentos a leer |
|---|---|
| Declarative → Data | 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 |
| Declarative/Data → Framework | 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 |
| Cambios de Framework SPA/SSR/pre-render | 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 |
| Banderas futuras/actualizaciones | react-router/docs/upgrading/future.md y archivos relevantes bajo react-router/docs/upgrading/ |