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 :
- Ouvrez le fichier
src/App.js
et ajoutez l'import suivant :
import { BrowserRouter } from 'react-router-dom';
- 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
.
- Ouvrez
src/App.js
et ajoutez les imports suivants :
import { Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
- 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
.
- Dans
src/
, créez un fichierHome.js
et ajoutez :
function Home() {
return <h2>Bienvenue sur la page d'accueil !</h2>;
}
export default Home;
- Dans
src/
, créez un fichierAbout.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.
- Modifiez
App.js
en ajoutant ces imports :
import { Link } from 'react-router-dom';
- 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
- W3Schools. (s.d.). React Router. Consulté le 1 mars 2025, à l’adresse https://www.w3schools.com/react/react_router.asp
- Ndaw, I. (17 février 2020). Le guide complet de React Router. Ibrahima Ndaw. Consulté le 1 mars 2025, à l’adresse https://www.ibrahima-ndaw.com/fr/blog/the-complete-guide-to-react-router/
Commentaires1
Lazy Loading dans React
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?