react如何使用路由
使用 React Router 的基本方法
React Router 是 React 应用中最常用的路由库,用于实现单页应用(SPA)的路由功能。以下是基本的使用步骤。
安装 React Router 的依赖包:
npm install react-router-dom
在项目中引入必要的组件:
import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom';
配置基本路由
在应用的根组件中,使用 Router 包裹整个应用,并定义路由规则:
function App() {
return (
<Router>
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Router>
);
}
动态路由和参数传递
可以通过动态路由传递参数:

<Route path="/user/:id" element={<UserProfile />} />
在目标组件中获取参数:
import { useParams } from 'react-router-dom';
function UserProfile() {
const { id } = useParams();
return <div>User ID: {id}</div>;
}
嵌套路由
嵌套路由用于实现多层级的页面结构:
<Route path="/dashboard" element={<Dashboard />}>
<Route path="settings" element={<Settings />} />
<Route path="profile" element={<Profile />} />
</Route>
在父组件中使用 Outlet 渲染子路由:

import { Outlet } from 'react-router-dom';
function Dashboard() {
return (
<div>
<h1>Dashboard</h1>
<Outlet />
</div>
);
}
编程式导航
使用 useNavigate 钩子实现编程式导航:
import { useNavigate } from 'react-router-dom';
function LoginButton() {
const navigate = useNavigate();
return (
<button onClick={() => navigate('/dashboard')}>
Login
</button>
);
}
路由守卫和权限控制
可以通过自定义逻辑实现路由守卫:
<Route
path="/admin"
element={isAdmin ? <AdminPanel /> : <Navigate to="/login" />}
/>
使用 Navigate 组件实现重定向:
import { Navigate } from 'react-router-dom';
function ProtectedRoute({ user }) {
return user ? <Dashboard /> : <Navigate to="/login" />;
}
懒加载路由
使用 React.lazy 和 Suspense 实现懒加载:
import { lazy, Suspense } from 'react';
const LazyComponent = lazy(() => import('./LazyComponent'));
<Route
path="/lazy"
element={
<Suspense fallback={<div>Loading...</div>}>
<LazyComponent />
</Suspense>
}
/>
以上是 React Router 的基本使用方法,涵盖了路由配置、动态参数、嵌套路由、导航控制和性能优化等内容。






