Utiliser le routing en React

Par abenkarrouch, 1 mars, 2025
Photo React

Introduction

Maintenant qu'on sait comment utiliser des hooks en React, il est temps de découvrir une fonctionnalité essentielle présente dans tous les sites web : le routing. Le routing permet de naviguer entre différentes pages sans recharger la page web. Aujourd'hui, je vais vous montrer comment utiliser React Router pour gérer la navigation dans une application React.


Étapes du tutoriel

Dans ce tutoriel, nous allons voir comment ajouter et configurer React Router pour permettre la navigation entre plusieurs pages.


Installer React Router

Avant de commencer, il faut installer la librairie React Router. Dans votre terminal, entrez la commande suivante :

npm install react-router-dom

Cette commande va ajouter React Router à notre projet et nous permettre de gérer le routing.


Configurer le routing

Une fois l'installation terminée, on doit configurer React Router dans notre application. Voici comment procéder :

  1. Ouvrez le fichier src/App.js et ajoutez l'import suivant :
import { BrowserRouter } from 'react-router-dom';
  1. Entourez votre application avec BrowserRouter :
import React from 'react';
import App from './App';
import { BrowserRouter } from 'react-router-dom';

Cela permet à React Router de fonctionner dans toute l'application.


Créer des routes

Maintenant, on va ajouter des routes dans App.js.

  1. Ouvrez src/App.js et ajoutez les imports suivants :
import { Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
  1. Ensuite, remplacez le contenu du return par :
function App() {
  return (
    <div>
      <h1>Mon application React</h1>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
      </Routes>
    </div>
  );
}

export default App;

Ici, on définit deux pages : Home pour la page d'accueil (/) et About pour la page "À propos" (/about).


Créer les composants des pages

Créez deux composants rapide et simple dans les fichiers Home.js et About.js.

  1. Dans src/, créez un fichier Home.js et ajoutez :
function Home() {
  return <h2>Bienvenue sur la page d'accueil !</h2>;
}

export default Home;
  1. Dans src/, créez un fichier About.js et ajoutez :
function About() {
  return <h2>À propos de cette application</h2>;
}

export default About;

Ajouter une navigation

Pour naviguer facilement entre nos pages, on va ajouter des liens.

  1. Modifiez App.js en ajoutant ces imports :
import { Link } from 'react-router-dom';
  1. Ajoutez ces liens avant <Routes> :
<nav>
  <Link to="/">Accueil</Link> | <Link to="/about">À propos</Link>
</nav>

Le fichier App.js complet devrait ressembler à ceci :

import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';
import Home from './Home';
import About from './About';

function App() {
  return (
    <Router>
      <div>
        <h1>Mon application React</h1>
        <nav>
          <Link to="/">Accueil</Link> | <Link to="/about">À propos</Link>
        </nav>
        <Routes>
          <Route path="/" element={<Home />} />
          <Route path="/about" element={<About />} />
        </Routes>
      </div>
    </Router>
  );
}

export default App;

Maintenant, lorsque vous cliquez sur "Accueil" ou "À propos", la page change sans rechargement.


Conclusion

Voila. Nous avons mis en place un système de navigation en React avec React Router. Maintenant, nous pouvons ajouter plusieurs pages et améliorer notre application en la rendant plus interactive.


Sources

Étiquettes

Commentaires1

ybenkhayat

il y a 1 mois 3 semaines

Très bon article, simple et facile à comprendre pour un novice comme moi. Je voulais juste savoir s'il était possible d'avoir du Lazy Loading aussi sur React. Je sais que c'était possible avec Angular, permettant ainsi de seulement charger ce qui était nécessaire et donc de rendre l'app Web moins lente. Si oui, de quelle façon pourrais-je m'y prendre?