<-

Retour

5/ ReactJS: La navigation

5/ ReactJS: La navigation

Dans ce cours, vous apprendrez à utiliser React-router-dom, une librairie ReactJS très populaire pour ajouter de la navigation à votre application web.

Vous découvrirez comment créer des liens de navigation, afficher des pages en fonction des URL...

0

Partager sur twitterPartager sur FacebookPartager sur LinkdinPartager sur Telegram

Prérequis

Il est conseillé d'avoir suivi les articles d'introduction à ReactJS:


ReactJS: Introduction.


ReactJS: Les composants.


Qu'est-ce que React-router-dom ?

React-router-dom est une bibliothèque JavaScript qui permet de gérer la navigation dans une application web ReactJS.


Elle fournit des composants React qui permettent de créer des liens de navigation, de définir des routes pour afficher des pages en fonction des URL, de gérer les paramètres d'URL et de rediriger les utilisateurs vers une page spécifique.


React-router-dom est basé sur React-router, une autre bibliothèque populaire pour la gestion de la navigation dans ReactJS.


Installation

Pour utiliser React-router-dom dans votre projet ReactJS, vous devez l'installer et le configurer. Voici les étapes à suivre :

npm install react-router-dom

Structure du projet

Prenons pour exemple une application simple avec deux composants pour simuler deux pages.


Le dossier src resemblerai ceci:


📂src
┣ 📂components
┃  ┗ 📂pages
┃     ┣ 📜Home.jsx
┃     ┗ 📜About.jsx
┣ 📜App.jsx
┣ 📜index.jsx
┗ 📜style.css

Utilisation

Après avoir créé les deux composants représentant les deux pages de l'application, nous pouvons mettre en place le système de navigation dans le fichier App.jsx :

import "./style.css"; //Import du style globale

//Import des composants basiques de navigation
import { BrowserRouter, Link, Route, Routes } from "react-router-dom";

//Import des composants pages
import Home from "./components/pages/Home";
import About from "./components/pages/About";

export default function App() {
  return (
    <BrowserRouter>
      <nav>
        <Link to="/">Accueil</Link>
        <Link to="/about">A propos</Link>
      </nav>
      <Routes>
        <Route exact path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </BrowserRouter>
  );
}

react-router-dom fournit plusieurs composants React pour gérer la navigation dans votre application web :


  • BrowserRouter : Le composant qui encapsule toute votre application et gère l'historique de navigation du navigateur.
  • Routes : Le composant qui décide quel composant rendre/afficher sur la page.
  • Route : Le composant qui définit une correspondance entre une URL et un composant React à afficher.
  • Link : Le composant qui crée un lien de navigation qui, lorsqu'il est cliqué, modifie l'URL dans la barre d'adresse du navigateur.

Paramètres dynamiques

Nous allons montrer comment utiliser react-router-dom pour créer des routes avec des paramètres dynamiques.


Nous allons également montrer comment récupérer ces paramètres dans des composants React.


Route avec paramètres dynamiques

Pour créer des routes avec des paramètres dynamiques, vous pouvez utiliser des paramètres de chemin dans vos routes.


Voici un exemple simple de définition de routes avec des paramètres dynamiques :


<BrowserRouter>
  <nav>
    <Link to="/">Accueil</Link>
    <Link to="/about">A propos</Link>
    <Link to="/user/1">User 1</Link>
    <Link to="/user/2">User 2</Link>
  </nav>
  <Routes>
    <Route exact path="/" element={<Home />} />
    <Route path="/about" element={<About />} />
    <Route path="/user/:id" element={<User />} />
  </Routes>
</BrowserRouter>

Dans cet exemple, nous avons défini une route avec un paramètre dynamique appelé id.

Récupération des paramètres dans le composant

Pour récupérer les paramètres de chemin dans vos composants React, vous pouvez utiliser le hook de react-router-dom: useParams.


useParams est une fonction qui retourne un objet contenant les paramètre d'url.


Dans le composant User, nous allons récuperer l'id dans les paramètre d'url:


import React from 'react';
import {useParams} from 'react-router-dom';
export default function User() {
  const parametres = useParams();

  return (
    <div>
      <h1>User {parametres.id}</h1>
    </div>
  );
}

Conclusion

Dans ce cours, nous avons appris à utiliser react-router-dom pour gérer la navigation dans une application React.


Nous avons commencé par une introduction à react-router-dom et avons appris à installer et configurer la bibliothèque dans notre projet.


Ensuite, nous avons appris à créer des routes de base et à utiliser les composants Switch et Route pour gérer la navigation.


Nous avons également appris à utiliser des paramètres dynamiques pour rendre notre application plus flexible.


Il est important de noter que ce cours n'a été qu'une introduction à react-router-dom et qu'il y a encore beaucoup de concepts à explorer.


Si vous souhaitez approfondir vos connaissances, nous vous recommandons les ressources suivantes :



Aller plus loin

Commentaires

IsLoading