React Router — это библиотека для управления маршрутизацией в приложениях React. Это позволяет вашему приложению перемещаться между различными компонентами и представлениями без полной перезагрузки страницы, что упрощает работу пользователя.
Начните с установки реакции-маршрутизатора-dom:
npm install react-router-dom
Настройте базовую маршрутизацию с помощью BrowserRouter, Routes и 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; } /> } />
Для более сложных приложений вы можете вкладывать маршруты. Вот как настроить вложенные маршруты в родительском компоненте:
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; } />
Динамическая маршрутизация позволяет передавать параметры в URL-адресе. Вот как определить динамический маршрут и получить к нему доступ:
import { useParams } from 'react-router-dom'; const User = () => { const { id } = useParams(); returnUser ID: {id}
; }; const App = () => { return (); }; export default App; } />
Чтобы реализовать защищенные маршруты, вы можете создать собственный компонент PrivateRoute:
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; } /> }> } />
Иногда вам может потребоваться программная навигация, например, после отправки формы. Используйте хук useNavigate в 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
Обработка ошибок 404 (не найдено), создав универсальный маршрут:
const NotFound = () =>404 - Page Not Found
; const App = () => { return (); }; export default App; } /> } /> } />
Для больших приложений маршруты отложенной загрузки могут повысить производительность. Вот как реализовать отложенную загрузку с помощью React.lazy() и 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...}> } /> } />
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3