Le routage est une fonctionnalité essentielle dans toute application Web moderne. Il permet aux utilisateurs de naviguer de manière transparente entre différentes sections ou pages, créant ainsi une expérience fluide et interactive. Dans React, ceci est réalisé à l'aide de React Router, une bibliothèque puissante conçue pour gérer le routage dans les applications à page unique (SPA).
React Router simplifie le processus de création de routes dynamiques et imbriquées, de gestion des paramètres d'URL, de mise en œuvre de routes protégées et bien plus encore. Dans ce guide complet, nous explorerons tous les aspects de React Router, en décomposant ses concepts étape par étape et en les mettant en œuvre avec des exemples pratiques.
React Router est une bibliothèque déclarative basée sur des composants pour gérer le routage dans les applications React. Il utilise une approche moderne pour mapper les URL aux composants, permettant aux développeurs de créer facilement des SPA évolutifs et dynamiques.
Avant de commencer, configurons React Router dans votre projet. Installez la bibliothèque en utilisant npm ou Yarn :
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Une fois installé, vous êtes prêt à intégrer React Router dans votre application.
React Router s'articule autour de quelques concepts de base qui constituent la base de son système de routage. Décomposons-les étape par étape.
Au niveau supérieur de votre application React, vous devez tout envelopper dans un Routeur. React Router propose plusieurs types de routeurs, mais le plus courant est BrowserRouter, qui utilise l'API d'historique du navigateur pour gérer la navigation.
Voici un exemple simple d'utilisation de BrowserRouter :
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Explication :
Remarque : Vous ne pouvez avoir qu'un seul BrowserRouter à la racine de votre application.
Après avoir enveloppé votre application avec BrowserRouter, vous définissez des itinéraires individuels à l'aide des composants Routes et Route.
import React from "react"; import { BrowserRouter } from "react-router-dom"; function App() { return ( <BrowserRouter> <div> <h1>Welcome to My App</h1> <p>Routing starts here!</p> </div> </BrowserRouter> ); } export default App;
Explication :
Dans une application React, en utilisant le traditionnel Les balises de navigation amènent le navigateur à recharger la page. React Router fournit les composants Link et NavLink pour une navigation transparente sans actualisation de page.
Le composant Lien vous permet de naviguer entre les itinéraires en mettant à jour l'URL sans recharger la page.
import React from "react"; import { BrowserRouter, Routes, Route } from "react-router-dom"; function Home() { return <h1>Home Page</h1>; } function About() { return <h1>About Page</h1>; } function App() { return ( <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); } export default App;
Explication :
Le composant NavLink est similaire à Link, mais il vous permet de styliser le lien selon qu'il est actif ou non.
import React from "react"; import { BrowserRouter, Routes, Route, Link } from "react-router-dom"; function Home() { return <h1>Home Page</h1>; } function About() { return <h1>About Page</h1>; } function Navbar() { return ( <nav> <Link to="/">Home</Link> <Link to="/about">About</Link> </nav> ); } function App() { return ( <BrowserRouter> <Navbar /> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); } export default App;
Différence clé :
Combinons ces concepts dans un petit exemple d'application :
# Using npm npm install react-router-dom # Using yarn yarn add react-router-dom
Dans cette partie, nous avons couvert les bases :
Dans le prochain article, nous explorerons :
Restez à l'écoute pour le prochain épisode de cette série Ultimate Guide to React Router !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!