React Router est une bibliothèque permettant de gérer le routage dans les applications React. Il permet à votre application de naviguer entre différents composants et vues sans recharger une page entière, ce qui rend l'expérience utilisateur transparente.
Commencez par installer React-Router-dom :
npm install react-router-dom
Configurer le routage de base à l'aide de BrowserRouter, Routes et Route :
import React from 'react'; import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; const Home = () =>Home
; const About = () =>About
; const App = () => { return (); }; export default App; } /> } />
Pour les applications plus complexes, vous pouvez imbriquer des itinéraires. Voici comment configurer des routes imbriquées dans un composant parent :
import React from 'react'; import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; const Dashboard = () =>Dashboard Home
; const Profile = () =>Your Profile
; const DashboardLayout = () => { return (); }; const App = () => { return (} /> } /> ); }; export default App; } />
Le routage dynamique vous permet de transmettre des paramètres dans l'URL. Voici comment définir et accéder à un itinéraire dynamique :
import { useParams } from 'react-router-dom'; const User = () => { const { id } = useParams(); returnUser ID: {id}
; }; const App = () => { return (); }; export default App; } />
Pour implémenter des routes protégées, vous pouvez créer un composant PrivateRoute personnalisé :
import { Navigate, Outlet } from 'react-router-dom'; const useAuth = () => { const user = { loggedIn: true }; // Replace with actual auth logic return user && user.loggedIn; }; const PrivateRoute = () => { const isAuth = useAuth(); return isAuth ?: ; }; const App = () => { return ( ); }; export default App; } /> }> } />
Parfois, vous souhaiterez peut-être naviguer par programmation, comme après la soumission d'un formulaire. Utilisez le hook useNavigate dans React Router v6 :
import { useNavigate } from 'react-router-dom'; const Login = () => { const navigate = useNavigate(); const handleLogin = () => { // Login logic here... navigate('/dashboard'); }; return (); }; export default Login;Login
Gérez les erreurs 404 (introuvable) en créant une route fourre-tout :
const NotFound = () =>404 - Page Not Found
; const App = () => { return (); }; export default App; } /> } /> } />
Pour les applications volumineuses, les itinéraires de chargement paresseux peuvent améliorer les performances. Voici comment implémenter le chargement différé avec React.lazy() et Suspense :
import React, { Suspense, lazy } from 'react'; import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; const Home = lazy(() => import('./Home')); const About = lazy(() => import('./About')); const App = () => { return (); }; export default App; Loading...}> } /> } />
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3