Next.js a révolutionné le développement de React avec ses fonctionnalités puissantes et sa conception intuitive. Avec la sortie de Next.js 13, le nouveau App Router a occupé le devant de la scène, offrant aux développeurs un moyen plus flexible et plus puissant de structurer leurs applications. Dans ce guide complet, nous approfondirons l'App Router, en explorant ses fonctionnalités et ses meilleures pratiques. Pour illustrer ces concepts, nous utiliserons un exemple concret : un projet de générateur de lettre de motivation.
Le routeur d'applications dans Next.js 13 représente un changement de paradigme dans la façon dont nous abordons le routage dans les applications React. Contrairement au Pages Router précédent, l'App Router utilise une approche basée sur le système de fichiers qui s'aligne plus étroitement sur la façon dont nous modélisons mentalement la structure de notre application.
Commençons par configurer un nouveau projet Next.js 13 avec App Router. Ouvrez votre terminal et exécutez :
npx create-next-app@latest my-app cd my-app
Lorsque vous y êtes invité, assurez-vous de sélectionner « Oui » pour « Voulez-vous utiliser App Router ? ».
Dans l'App Router, chaque dossier représente un segment d'itinéraire. Créons une structure simple pour notre générateur de lettre de motivation :
app/ ├── page.tsx ├── layout.tsx ├── cover-letter/ │ └── page.tsx └── templates/ └── page.tsx
Ici, page.tsx dans le dossier racine de l'application représente la page d'accueil. Les dossiers de lettre de motivation et de modèles créent des itinéraires pour ces pages respectives.
Dans app/page.tsx :
export default function Home() { returnWelcome to the Cover Letter Generator
; }
Dans app/cover-letter/page.tsx :
export default function CoverLetter() { returnCreate Your Cover Letter
; }
Avec cette structure, vous pouvez accéder à / pour la page d'accueil et /cover-letter pour la page de création de la lettre de motivation.
L'une des fonctionnalités puissantes d'App Router est la possibilité de créer des mises en page imbriquées. Ajoutons une mise en page commune pour notre application.
Dans app/layout.tsx :
export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ); }
Cette mise en page sera appliquée à toutes les pages de notre application, offrant une structure de navigation cohérente.
Les itinéraires dynamiques sont cruciaux pour les applications qui génèrent du contenu basé sur des paramètres. Implémentons un itinéraire dynamique pour afficher des modèles de lettre de motivation spécifiques.
Créez un nouveau fichier : app/templates/[id]/page.tsx :
export default function Template({ params }: { params: { id: string } }) { returnTemplate {params.id}
; }
Maintenant, accéder à /templates/1 ou /templates/formal affichera ce composant avec l'identifiant respectif.
Next.js 13 introduit les composants React Server, nous permettant de récupérer des données sur le serveur. Implémentons cela dans notre générateur de lettre de motivation.
Dans app/cover-letter/page.tsx :
async function getTemplates() { // Simulate API call return [ { id: 1, name: 'Professional' }, { id: 2, name: 'Creative' }, { id: 3, name: 'Academic' }, ]; } export default async function CoverLetter() { const templates = await getTemplates(); return (); }Create Your Cover Letter
{templates.map(template => (
- {template.name}
))}
Ce composant récupère les données sur le serveur, améliorant ainsi les performances et le référencement.
Pour la navigation côté client, utilisez le composant Link de Next.js. Mettez à jour votre app/layout.tsx :
import Link from 'next/link'; export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ); }
Maintenant que nous avons couvert les bases, voyons comment ces concepts sont appliqués dans un projet réel. Le projet Resumate-NextJS sur GitHub est un excellent exemple de générateur de lettre de motivation construit avec Next.js.
Principaux points à retenir de ce projet :
Routage structuré : le projet utilise une structure de routage claire, séparant les préoccupations entre les différentes pages et composants.
Rendu côté serveur : utilise les capacités SSR de Next.js pour améliorer les performances et le référencement.
Routes API : implémente des routes API pour la logique côté serveur, démontrant comment gérer les soumissions de formulaires et le traitement des données.
Style : utilise Tailwind CSS pour une conception d'interface utilisateur réactive et propre.
State Management : implémente l'API de contexte pour gérer l'état des applications entre les composants.
À mesure que vous vous familiariserez avec App Router, explorez ces concepts avancés :
Le routeur d'applications Next.js 13 représente une avancée significative dans le développement d'applications React. En fournissant un système de routage intuitif basé sur un système de fichiers et en exploitant la puissance des composants React Server, il permet aux développeurs de créer des applications Web performantes, évolutives et maintenables.
Comme démontré avec l'exemple du générateur de lettre de motivation, l'App Router simplifie le processus de création d'applications Web complexes et dynamiques. Que vous créiez un simple site de portfolio ou une application Web complexe, la maîtrise d'App Router améliorera considérablement votre expérience de développement Next.js.
N'oubliez pas que la meilleure façon d'apprendre est de faire. Clonez le référentiel Resumate-NextJS, expérimentez le code et essayez d'implémenter vos propres fonctionnalités à l'aide d'App Router. Bon codage !
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3