React Router
O React Router é específico para cada modo. Antes de alterar uma aplicação, identifique o modo, carregue a referência correspondente e então leia a documentação instalada para a versão do pacote instalada.
Identificar o Modo
Não aplique padrões de Framework/Data a uma aplicação Declarative, a menos que esteja migrando modos intencionalmente.
Modo Framework
Use as orientações do Modo Framework quando você vir:
@react-router/devnas dependênciasreact-router.config.tsapp/routes.ts- arquivos
app/entry.server.tsxe/ouapp/entry.client.tsx - módulos de rota sob
app/routes/ - exportações de rota como
loader,action,clientLoader,clientAction,ErrorBoundary,meta,linksouheaders - importações de
./+types/... - o plugin Vite do React Router vindo de
@react-router/dev/vite
Exemplos de Framework geralmente usam o diretório padrão app/, mas verifique react-router.config.ts em busca de um appDirectory personalizado antes de assumir caminhos exatos.
Em seguida, leia references/framework-mode.md.
Modo Data
Use as orientações do Modo Data quando você vir:
createBrowserRouter,createHashRouter,createMemoryRouteroucreateStaticRouter<RouterProvider router={router}>- objetos de rota com propriedades como
path,children,loader,action,Component,ErrorBoundaryoulazy - APIs de dados sem o plugin Vite do Framework
Em seguida, leia references/data-mode.md.
Modo Declarative
Use as orientações do Modo Declarative quando você vir:
<BrowserRouter>,<HashRouter>ou<MemoryRouter>- configuração de rota JSX com
<Routes>e<Route> - componentes de rota passados com
element={<Component />} - sem data router, sem convenção de módulo de rota e sem loaders/actions
Em seguida, leia references/declarative-mode.md.
Modos RSC Framework e RSC Data
O suporte a React Server Components é instável e existe em ambas as variantes Framework e Data. Use as orientações RSC quando você vir:
unstable_reactRouterRSC@vitejs/plugin-rscunstable_RSCRouteConfig- arquivos de entrada RSC como
entry.rsc ServerComponent,ServerErrorBoundary,ServerLayoutouServerHydrateFallback- diretivas React ou pacotes de limite como
"use client","server-only"ou"client-only"
Para RSC Framework, leia tanto references/framework-mode.md quanto references/rsc.md.
Para RSC Data, leia tanto references/data-mode.md quanto references/rsc.md.
Use a Documentação Instalada como Fonte da Verdade
O React Router fornece documentos markdown no pacote para que as orientações correspondam à versão instalada:
node_modules/react-router/docs/
Caminhos importantes de documentos:
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/
Quando esta skill referenciar react-router/docs/..., leia o arquivo correspondente sob node_modules/react-router/docs/. Se a versão instalada não incluir documentação local, use o diretório docs/ do repositório quando estiver trabalhando dentro do repositório React Router; em uma aplicação consumidora, recorra à documentação do site com versão correspondente.
A maioria dos documentos inclui um marcador de modo próximo ao topo:
[MODES: framework, data, declarative]
Aplique um documento apenas quando seu marcador de modo corresponder ao modo da aplicação. Se uma tarefa abranger modos, prefira a seção ou o arquivo que corresponde ao modo atual.
O RSC é documentado principalmente em:
node_modules/react-router/docs/how-to/react-server-components.md
Referências da Skill
Carregue a referência relevante após identificar o modo:
| Referência | Use Quando |
|---|---|
references/framework-mode.md | Modo Framework ou comportamento base RSC Framework |
references/data-mode.md | Modo Data ou comportamento base RSC Data |
references/declarative-mode.md | Modo Declarative |
references/rsc.md | Qualquer aplicação RSC instável |
Índice de Documentos para Migração de Modo
Se o usuário solicitar explicitamente a troca de modos, leia a referência do modo de destino mais os documentos relevantes para migração:
| Migração | Documentos a ler |
|---|---|
| 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 |
| Alterações Framework SPA/SSR/pré-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 |
| Future flags/upgrades | react-router/docs/upgrading/future.md e arquivos relevantes sob react-router/docs/upgrading/ |