Dans React Router v6, l'approche de gestion des redirections a considérablement changé par rapport aux versions précédentes. Alors que React Router v5 utilisait l'option
Vous trouverez ci-dessous un guide pour implémenter les redirections dans React Router v6.
Le composant Navigate est utilisé pour les redirections déclaratives. Il est généralement utilisé dans les composants de votre itinéraire ou à tout autre endroit où vous souhaitez rediriger en fonction de certaines conditions.
import React from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; const Home = () => { return <h2>Home Page</h2>; }; const About = () => { return <h2>About Us</h2>; }; const NotFound = () => { return <h2>Page Not Found</h2>; }; const App = () => { return ( <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="/old-page" element={<Navigate to="/about" />} /> <Route path="*" element={<NotFound />} /> </Routes> ); }; export default App;
<Navigate to="/new-page" replace={true} />
Le hook useNavigate est utilisé pour naviguer ou rediriger par programme au sein de vos composants React. Ceci est particulièrement utile lorsque vous devez effectuer une redirection après une action (par exemple, après avoir soumis un formulaire, terminé une tâche ou vérifié certaines conditions).
import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; const LoginForm = () => { const [username, setUsername] = useState(''); const navigate = useNavigate(); // Hook to handle navigation const handleSubmit = (event) => { event.preventDefault(); // Perform authentication logic here... // Redirect to the dashboard after successful login navigate('/dashboard'); }; return ( <form onSubmit={handleSubmit}> <input type="text" value={username} onChange={(e) => setUsername(e.target.value)} placeholder="Enter Username" /> <button type="submit">Login</button> </form> ); }; export default LoginForm;
navigate('/dashboard', { replace: true });
Parfois, vous souhaiterez peut-être rediriger les utilisateurs de manière conditionnelle en fonction de certains critères, comme s'ils sont authentifiés, ou en fonction d'une autre logique.
import React from 'react'; import { Routes, Route, Navigate } from 'react-router-dom'; const Home = () => { return <h2>Home Page</h2>; }; const About = () => { return <h2>About Us</h2>; }; const NotFound = () => { return <h2>Page Not Found</h2>; }; const App = () => { return ( <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="/old-page" element={<Navigate to="/about" />} /> <Route path="*" element={<NotFound />} /> </Routes> ); }; export default App;
Parfois, vous souhaiterez peut-être rediriger les utilisateurs lorsqu'ils empruntent un itinéraire invalide ou non défini (404 pages). Dans React Router v6, vous pouvez gérer cela en utilisant la route générique *.
<Navigate to="/new-page" replace={true} />
React Router v6 fournit des outils puissants et flexibles pour rediriger les utilisateurs dans vos applications React. Que vous souhaitiez gérer les redirections de manière déclarative à l'aide du composant Navigate ou par programme à l'aide du hook useNavigate, React Router propose des solutions simples qui s'intègrent facilement à la logique de routage de votre application.
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!