React Router é uma biblioteca para lidar com roteamento em aplicativos React. Ele permite que seu aplicativo navegue entre diferentes componentes e visualizações sem recarregar a página inteira, tornando a experiência do usuário perfeita.
Comece instalando react-router-dom:
npm install react-router-dom
Configure o roteamento básico usando BrowserRouter, Routes e 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; } /> } />
Para aplicativos mais complexos, você pode aninhar rotas. Veja como configurar rotas aninhadas em um componente pai:
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; } />
O roteamento dinâmico permite que você passe parâmetros na URL. Veja como definir e acessar uma rota dinâmica:
import { useParams } from 'react-router-dom'; const User = () => { const { id } = useParams(); returnUser ID: {id}
; }; const App = () => { return (); }; export default App; } />
Para implementar rotas protegidas, você pode criar um componente PrivateRoute personalizado:
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; } /> }> } />
Às vezes, você pode querer navegar programaticamente, como após o envio de um formulário. Use o gancho useNavigate no 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
Trate de erros 404 (não encontrado) criando uma rota abrangente:
const NotFound = () =>404 - Page Not Found
; const App = () => { return (); }; export default App; } /> } /> } />
Para aplicativos grandes, rotas de carregamento lento podem melhorar o desempenho. Veja como implementar o carregamento lento com React.lazy() e 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...}> } /> } />
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3