Maison >interface Web >js tutoriel >Maîtriser le routage dynamique dans React : créer des applications flexibles et évolutives
Routage dynamique dans React fait référence à la possibilité de créer des itinéraires dans votre application qui dépendent des données ou de l'interaction de l'utilisateur, permettant aux itinéraires de changer dynamiquement. Cela permet d'afficher différentes vues en fonction des entrées de l'utilisateur, des réponses de l'API ou des paramètres d'URL dynamiques.
Le routage dynamique est particulièrement utile lors de la création d'applications dont les itinéraires ne peuvent pas être prédéfinis, par exemple lorsque le contenu d'une page dépend de données extraites d'une API ou lorsque certains itinéraires dépendent de l'état ou des actions de l'application.
React Router est la bibliothèque incontournable pour implémenter le routage dans les applications React. Il simplifie le routage dynamique en permettant aux chemins et composants de routage de changer en fonction des données ou des conditions.
Paramètres d'itinéraire dynamiques :
Navigation programmatique :
Routage conditionnel :
Itinéraires de chargement paresseux :
Dans cet exemple, nous montrerons comment créer des itinéraires avec des paramètres dynamiques et les rendre conditionnellement en fonction de l'URL.
import React from 'react'; import { BrowserRouter, Routes, Route, Link, useParams } from 'react-router-dom'; const UserProfile = () => { const { userId } = useParams(); // Access dynamic parameter from the URL return <h2>User Profile for user: {userId}</h2>; }; const App = () => { return ( <BrowserRouter> <nav> <ul> <li><Link to="/user/1">User 1</Link></li> <li><Link to="/user/2">User 2</Link></li> </ul> </nav> <Routes> <Route path="/user/:userId" element={<UserProfile />} /> {/* Dynamic route */} </Routes> </BrowserRouter> ); }; export default App;
import React from 'react'; import { BrowserRouter, Routes, Route, useNavigate } from 'react-router-dom'; const Home = () => { const navigate = useNavigate(); const goToUserProfile = (id) => { navigate(`/user/${id}`); }; return ( <div> <h2>Home Page</h2> <button onClick={() => goToUserProfile(1)}>Go to User 1</button> <button onClick={() => goToUserProfile(2)}>Go to User 2</button> </div> ); }; const UserProfile = ({ userId }) => { return <h2>User Profile for user: {userId}</h2>; }; const App = () => { return ( <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/user/:userId" element={<UserProfile />} /> </Routes> </BrowserRouter> ); }; export default App;
import React from 'react'; import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; const PrivateRoute = ({ isAuthenticated, children }) => { return isAuthenticated ? children : <Navigate to="/login" />; }; const Dashboard = () => <h2>Dashboard - Only accessible when logged in</h2>; const Login = () => <h2>Login Page</h2>; const App = () => { const isAuthenticated = false; // Change this value to test return ( <BrowserRouter> <Routes> <Route path="/login" element={<Login />} /> <Route path="/dashboard" element={ <PrivateRoute isAuthenticated={isAuthenticated}> <Dashboard /> </PrivateRoute> } /> </Routes> </BrowserRouter> ); }; export default App;
import React, { Suspense } from 'react'; import { BrowserRouter, Routes, Route } from 'react-router-dom'; // Lazy load components const Home = React.lazy(() => import('./Home')); const Dashboard = React.lazy(() => import('./Dashboard')); const App = () => { return ( <BrowserRouter> <Suspense fallback={<div>Loading...</div>}> <Routes> <Route path="/" element={<Home />} /> <Route path="/dashboard" element={<Dashboard />} /> </Routes> </Suspense> </BrowserRouter> ); }; export default App;
Le routage dynamique dans React permet des applications plus flexibles et interactives. En utilisant des paramètres d'itinéraire dynamiques, la navigation programmatique, le routage conditionnel et le chargement paresseux, vous pouvez créer de puissantes applications React qui s'adaptent en fonction des interactions des utilisateurs ou de l'état de l'application. React Router est un outil robuste qui facilite la mise en œuvre du routage dynamique dans React, vous permettant de créer facilement des applications complexes et évolutives.
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!