📘 Chapitre – Navigation entre vues avec react-router-dom
1. 🎯 Objectif pédagogique
Apprendre à configurer et utiliser react-router-dom
pour gérer la navigation entre plusieurs pages ou vues dans une application React.
2. 📚 Concepts abordés
- Installation de
react-router-dom
- Composants principaux :
BrowserRouter
,Routes
,Route
,Link
- Création de plusieurs pages (
Home
,About
, etc.) - Utilisation de
Link
etNavLink
pour la navigation - Redirection avec
Navigate
3. 🧠 Explication théorique
react-router-dom
est une librairie permettant d’implémenter la navigation côté client (Single Page Application). La structure de base :
import { BrowserRouter, Routes, Route } from 'react-router-dom';
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
Pour naviguer sans recharger la page, on utilise :
<Link to="/about">Aller sur About</Link>
4. 🛠 Tutoriel pratique
Résumé du travail : Configurer la navigation entre une page d’accueil et une page “À propos”.
Arborescence projet :
react-demo/
├── src/
│ ├── App.jsx
│ ├── pages/
│ │ ├── Home.jsx
│ │ └── About.jsx
Étape 1 : Installer react-router-dom
npm install react-router-dom
Étape 2 : Créer deux pages
Home.jsx :
function Home() {
return <h2>Page d'accueil</h2>;
}
export default Home;
About.jsx :
function About() {
return <h2>À propos de notre application</h2>;
}
export default About;
Étape 3 : Configurer App.jsx
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
import Home from './pages/Home';
import About from './pages/About';
function App() {
return (
<BrowserRouter>
<nav>
<Link to="/">Accueil</Link> | <Link to="/about">À propos</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
);
}
export default App;
Étape 4 : Tester la navigation
Lancer le serveur avec :
npm run dev
Cliquer sur “À propos” changera de page sans rechargement.
Étape 5 : Redirection avec Navigate (optionnel)
import { Navigate } from 'react-router-dom';
<Route path="/old-page" element={<Navigate to="/" />} />
5. 🧾 Résumé et points-clés
react-router-dom
gère les routes d’une SPA (Single Page Application).BrowserRouter
encapsule l’ensemble des routes.Link
permet une navigation sans rechargement de la page.Routes
etRoute
définissent les chemins et composants associés.Navigate
est utilisé pour les redirections automatiques.