L'App Router de Next.js 14 révolutionne la gestion des itinéraires avec son système de routage basé sur des fichiers dans le répertoire app/
. Cette approche favorise une meilleure structure, modularité et performances des applications. Ce guide décrit la mise en œuvre efficace d'App Router dans vos projets Next.js.
Comprendre le routeur d'applications
L'App Router redéfinit la définition de l'itinéraire. La structure du répertoire correspond directement aux chemins d’URL. Les dossiers au sein de /app
deviennent des itinéraires, simplifiant les mises en page imbriquées, le regroupement d'itinéraires et la récupération de données, en particulier dans les applications plus volumineuses.
Configuration du routeur d'application
npx create-next-app@latest
/app
. Aucune configuration supplémentaire n'est nécessaire.Routage de base
Les fichiers et dossiers au sein de /app
sont automatiquement mappés aux itinéraires :
<code>app/ ├── page.tsx # Homepage ("/") ├── about/ │ └── page.tsx # About page ("/about") └── blog/ ├── page.tsx # Blog index ("/blog") └── [slug]/ └── page.tsx # Dynamic blog posts ("/blog/[slug]")</code>
app/about/page.tsx
mappe vers /about
.[]
) définissent des segments dynamiques. app/blog/[slug]/page.tsx
gère les itinéraires comme /blog/my-post
.Mise en page et imbrication
L'App Router simplifie la création et la réutilisation de mises en page.
Création de mises en page :
Un fichier layout.tsx
dans un dossier s'applique à toutes les pages et composants de ce dossier.
<code>app/ ├── layout.tsx # App-wide layout ├── about/ │ ├── layout.tsx # About page layout │ └── page.tsx # About page content</code>
<code class="language-javascript">// app/layout.tsx export default function RootLayout({ children }) { return ( <html> <body> <h1>My App</h1> {children} </body> </html> ); }</code>
Itinéraires et mises en page imbriqués :
Les mises en page s'imbriquent, fournissant une interface utilisateur cohérente sur les itinéraires imbriqués.
<code>app/ ├── dashboard/ │ ├── layout.tsx # Dashboard layout │ ├── page.tsx # Dashboard home ("/dashboard") │ └── settings/ │ └── page.tsx # Dashboard settings ("/dashboard/settings")</code>
La disposition /dashboard/
s'applique à la fois à /dashboard
et à /dashboard/settings
.
Groupes d'itinéraires
Les groupes de routage organisent le code sans modifier les URL à l'aide de dossiers entre parenthèses.
<code>app/ ├── (dashboard)/ │ ├── profile/ │ │ └── page.tsx # "/profile" │ ├── settings/ │ │ └── page.tsx # "/settings"</code>
/profile
et /settings
sont regroupés sous (dashboard)
pour l'organisation du code.
Itinéraires fourre-tout
Gérez plusieurs segments d'URL avec ...
dans le nom de fichier : [...]/page.tsx
capture /blog/a/b/c
.
États d'erreur et de chargement
Next.js 14 utilise error.tsx
et loading.tsx
pour la gestion des erreurs et le chargement des indicateurs dans les routes.
Récupération de données
Utilisez async/await
ou des hooks pour la récupération de données côté serveur directement dans les composants.
<code class="language-javascript">// app/dashboard/page.tsx export default async function DashboardPage() { const data = await fetch('https://api.example.com/data').then(res => res.json()); return <div>{JSON.stringify(data)}</div>; }</code>
Actions du serveur
Gérez la logique côté serveur (par exemple, les soumissions de formulaires) au sein des composants à l'aide des actions du serveur.
Déploiement
Le déploiement d'applications App Router est identique aux déploiements Next.js standard. Vercel est fortement recommandé pour des performances optimales.
Le routeur d'applications Next.js 14 offre une approche flexible et modulaire pour créer des applications évolutives et hautes performances avec un code plus propre. Ce guide fournit une base pour tirer parti de ses capacités dans vos projets.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!