React Router
React Router est spécifique au mode. Avant de modifier une application, identifiez le mode, chargez la référence correspondante, puis lisez la documentation installée pour la version du package installé.
Identifier le Mode
N'appliquez pas de modèles Framework/Data à une application Declarative sauf si vous migrez intentionnellement de mode.
Mode Framework
Utilisez les conseils du mode Framework lorsque vous voyez :
@react-router/devdans les dépendancesreact-router.config.tsapp/routes.ts- les fichiers
app/entry.server.tsxet/ouapp/entry.client.tsx - les modules de route sous
app/routes/ - les exports de route comme
loader,action,clientLoader,clientAction,ErrorBoundary,meta,linksouheaders - les imports depuis
./+types/... - le plugin Vite React Router depuis
@react-router/dev/vite
Les exemples Framework utilisent généralement le répertoire app/ par défaut, mais vérifiez react-router.config.ts pour un appDirectory personnalisé avant de supposer des chemins exacts.
Lisez ensuite references/framework-mode.md.
Mode Data
Utilisez les conseils du mode Data lorsque vous voyez :
createBrowserRouter,createHashRouter,createMemoryRouteroucreateStaticRouter<RouterProvider router={router}>- les objets de route avec des propriétés comme
path,children,loader,action,Component,ErrorBoundaryoulazy - les API de données sans le plugin Vite Framework
Lisez ensuite references/data-mode.md.
Mode Declarative
Utilisez les conseils du mode Declarative lorsque vous voyez :
<BrowserRouter>,<HashRouter>ou<MemoryRouter>- la configuration de route JSX avec
<Routes>et<Route> - les composants de route passés avec
element={<Component />} - pas de routeur de données, pas de convention de module de route, et pas de loaders/actions
Lisez ensuite references/declarative-mode.md.
Modes RSC Framework et RSC Data
Le support des composants serveur React est instable et existe à la fois en variantes Framework et Data. Utilisez les conseils RSC lorsque vous voyez :
unstable_reactRouterRSC@vitejs/plugin-rscunstable_RSCRouteConfig- les fichiers d'entrée RSC tels que
entry.rsc ServerComponent,ServerErrorBoundary,ServerLayoutouServerHydrateFallback- les directives React ou les packages de limite comme
"use client","server-only"ou"client-only"
Pour RSC Framework, lisez à la fois references/framework-mode.md et references/rsc.md.
Pour RSC Data, lisez à la fois references/data-mode.md et references/rsc.md.
Utiliser les Docs Installés comme Source de Vérité
React Router inclut des docs markdown dans le package pour que les conseils correspondent à la version installée :
node_modules/react-router/docs/
Chemins clés des 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/
Lorsque cette compétence fait référence à react-router/docs/..., lisez le fichier correspondant sous node_modules/react-router/docs/. Si la version installée n'inclut pas de docs locales, utilisez le répertoire docs/ du dépôt lorsque vous travaillez dans le dépôt React Router ; dans une application consommatrice, revenez à la documentation du site correspondant à la version.
La plupart des docs incluent un marqueur de mode près du haut :
[MODES: framework, data, declarative]
N'appliquez un doc que lorsque son marqueur de mode correspond au mode de l'application. Si une tâche couvre plusieurs modes, privilégiez la section ou le fichier qui correspond au mode actuel.
RSC est principalement documenté dans :
node_modules/react-router/docs/how-to/react-server-components.md
Références de la Compétence
Chargez la référence pertinente après avoir identifié le mode :
| Référence | Utiliser quand |
|---|---|
references/framework-mode.md | Mode Framework ou comportement de base RSC Framework |
references/data-mode.md | Mode Data ou comportement de base RSC Data |
references/declarative-mode.md | Mode Declarative |
references/rsc.md | Toute application RSC instable |
Index de Documentation pour les Migrations de Mode
Si l'utilisateur demande explicitement un changement de mode, lisez la référence du mode cible ainsi que les docs pertinentes pour la migration :
| Migration | Docs à lire |
|---|---|
| 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 |
| Modifications SPA/SSR/pré-rendu | 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 |
| Indicateurs futurs/mises à niveau | react-router/docs/upgrading/future.md et fichiers pertinents sous react-router/docs/upgrading/ |