BTS SIO2D
  • Accueil
  • Connexion
16 décembre 2024 par Mathéo Lucas

Article 8 React

Article 8 React
16 décembre 2024 par Mathéo Lucas

Table des matières

Toggle
  • Les Routes en React
    • Introduction
    • 1. Pourquoi utiliser un routeur en React ?
    • 2. React Router : Le Routeur Officiel de React
      • Installation de React Router
      • Configuration de base de React Router
    • 3. Paramètres dynamiques dans les Routes
      • Exemple de route dynamique :
    • 4. Navigation et Liens dans React
      • Utilisation de <Link> :
      • Utilisation du Hook useNavigate :
    • 5. Routes imbriquées et Layouts
      • Exemple de routes imbriquées :
    • 6. Redirections et Authentification
    • 7. Performance et Optimisation des Routes
    • Conclusion

Les Routes en React

Introduction

Les routes sont une composante essentielle de toute application web moderne. Elles permettent de naviguer d’une page à une autre sans avoir à recharger complètement le navigateur, améliorant ainsi l’expérience utilisateur. Dans le monde de React, la gestion des routes est cruciale, car React est une bibliothèque JavaScript orientée vers le développement d’applications à page unique (SPA – Single Page Application). Le routing permet de simuler une navigation entre différentes vues ou pages sans recharger le navigateur, offrant ainsi une expérience utilisateur fluide.

Dans cet article, nous allons explorer les différentes approches et outils pour gérer les routes dans une application React, en particulier en utilisant la bibliothèque React Router, qui est de loin l’outil le plus populaire et le plus utilisé pour le routage dans React.

1. Pourquoi utiliser un routeur en React ?

Le routing en React permet de gérer la navigation et l’affichage des composants en fonction de l’URL actuelle dans le navigateur. Dans une application traditionnelle, chaque changement de page entraîne un rechargement complet de la page, mais dans une SPA (Single Page Application), les données et les vues sont mises à jour dynamiquement sans rechargement complet.

Voici quelques avantages d’utiliser un routeur en React :

  • Navigation sans rechargement : Un routeur React permet de naviguer entre les vues sans que la page ne soit rechargée, offrant ainsi une expérience fluide.
  • Gestion de l’historique de navigation : Le routeur interagit avec l’API History du navigateur pour maintenir l’historique de navigation (le bouton de retour par exemple).
  • Chargement paresseux (Lazy loading) : Les composants peuvent être chargés uniquement lorsque la route associée est visitée, ce qui améliore les performances.
  • Gestion des redirections : Un routeur peut être configuré pour rediriger les utilisateurs en fonction de l’état de l’application (par exemple, une redirection après une connexion ou un échec d’authentification).
  • Gestion des paramètres d’URL : Le routeur permet de passer et d’extraire des paramètres dans l’URL pour personnaliser l’affichage d’une page.

2. React Router : Le Routeur Officiel de React

React Router est la bibliothèque la plus populaire et largement utilisée pour gérer les routes dans les applications React. Elle fournit un ensemble de composants et d’API qui permettent de configurer facilement les routes et d’interagir avec l’historique de navigation du navigateur.

Installation de React Router

Pour installer React Router dans votre application React, vous pouvez utiliser npm ou yarn :

en bash: « npm install react-router-dom »

Configuration de base de React Router

 

  • BrowserRouter (alias Router) est le composant principal qui maintient l’état de navigation et interagit avec l’URL du navigateur.
  • Route définit chaque route de l’application. Elle associe un chemin (URL) à un composant qui doit être affiché.
  • Routes est le conteneur des routes. C’est ici que vous définissez vos différentes routes et les associez à leurs composants respectifs.
  • path="*" permet de gérer les routes qui ne sont pas définies (ici, cela correspond à une page 404 ou « Not Found »).

3. Paramètres dynamiques dans les Routes

Les applications modernes ont souvent besoin de gérer des routes dynamiques où certaines parties de l’URL peuvent être variables. Par exemple, une application de gestion de blog pourrait avoir une page dédiée à chaque article, avec l’ID de l’article dans l’URL.

React Router permet de définir des routes avec des paramètres dynamiques.

Exemple de route dynamique :

<Route path= »/article/:id » element={<ArticlePage />} />

Dans ce cas, :id est un paramètre dynamique que vous pouvez récupérer dans votre composant ArticlePage avec le hook useParams :

 

Cette méthode permet de rendre l’URL dynamique et d’afficher du contenu en fonction de l’ID de l’article.

4. Navigation et Liens dans React

Pour effectuer des navigations au sein de votre application React, vous pouvez utiliser le composant Link ou le hook useNavigate.

Utilisation de <Link> :

Le composant Link crée un lien de navigation sans recharger la page, ce qui permet de naviguer tout en restant dans le contexte de votre application React.

Utilisation du Hook useNavigate :

Le hook useNavigate est utile lorsque vous voulez effectuer une navigation programmée (par exemple après une action, comme un formulaire soumis avec succès).

5. Routes imbriquées et Layouts

Dans une application complexe, vous pouvez avoir des routes imbriquées (nested routes) pour structurer les différentes sections de l’application. Par exemple, un tableau de bord pourrait avoir plusieurs sous-pages (profil, paramètres, etc.).

Exemple de routes imbriquées :

Dans ce cas, DashboardLayout est le composant principal qui contient des sous-routes pour chaque section du tableau de bord.

6. Redirections et Authentification

Il est souvent nécessaire de rediriger les utilisateurs en fonction de leur état d’authentification. Par exemple, un utilisateur non authentifié devrait être redirigé vers une page de connexion.

Vous pouvez utiliser la logique de redirection avec Navigate dans React Router :

Dans ce cas, si isAuthenticated est faux, l’utilisateur sera redirigé vers la page de connexion.

7. Performance et Optimisation des Routes

  • Lazy loading : Pour optimiser les performances, React Router permet de charger les composants de manière paresseuse (lazy loading). Cela signifie que les composants ne sont chargés que lorsque l’utilisateur accède à la route associée.

Conclusion

La gestion des routes dans une application React est essentielle pour créer des applications modernes et interactives. React Router est la bibliothèque de référence pour gérer les routes et permet de simplifier la navigation entre les pages, la gestion des paramètres URL, l’authentification et bien plus encore.

En appliquant les meilleures pratiques comme l’utilisation des routes imbriquées, du lazy loading ou des redirections conditionnelles, vous pouvez améliorer considérablement l’expérience utilisateur et les performances de votre application React.

Article précédentLes tendances React pour 2024Article suivant Article 9 React

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

About The Blog

Nulla laoreet vestibulum turpis non finibus. Proin interdum a tortor sit amet mollis. Maecenas sollicitudin accumsan enim, ut aliquet risus.

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025

Catégories

  • Article Angular Killian
  • Article Clément
  • Article Unreal Engine Hugo
  • Cybersécurité
  • IA
  • Non classé
  • Projet Flutter KHM
  • Projet Hugo
  • Stage Clément
  • Stage Hugo
  • Stage Killian P
  • TP Clément

Méta

  • Inscription
  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR

Étiquettes

Article Développer son projet professionnel Flutter Gérer son identité professionnelle Java Stage Symfony TP

Why Lander

Lander is a design prepared
especially for the free version
of Rife WordPress Theme.

You can use this for free.
Make your website today.
Get Started Now!

Contact

734 Blackwell Street
Anchorage, Alaska
info@domain.com
+33 (0) 101 0000
+33 (0) 102 0000
Mon. - Fri. 8AM - 6PM

Articles récents

projet flutter Forum28 avril 2025
Backup BDD Bash17 mars 2025
UE – TF1 se met à Unreal Engine ?17 mars 2025
Rife Wordpress Theme. Proudly Built By Apollo13