react如何定义路由
React 路由的定义方法
在 React 中定义路由通常使用 react-router-dom 库,以下是常见的几种方法:
使用 BrowserRouter 和 Route 组件
安装 react-router-dom:
npm install react-router-dom
在应用中引入并定义路由:
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
function App() {
return (
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/contact" element={<Contact />} />
</Routes>
</Router>
);
}
动态路由参数
可以通过 :param 定义动态路由:

<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="stats" element={<Stats />} />
<Route path="settings" element={<Settings />} />
</Route>
在父组件中使用 <Outlet /> 渲染子路由:

function Dashboard() {
return (
<div>
<h1>Dashboard</h1>
<Outlet />
</div>
);
}
重定向和导航
使用 Navigate 组件进行重定向:
import { Navigate } from 'react-router-dom';
<Route path="/old" element={<Navigate to="/new" />} />
通过 useNavigate 进行编程式导航:
import { useNavigate } from 'react-router-dom';
function Home() {
const navigate = useNavigate();
return <button onClick={() => navigate('/about')}>Go to About</button>;
}
路由守卫(权限控制)
通过高阶组件或包装路由实现:
function PrivateRoute({ element }) {
const isAuthenticated = checkAuth();
return isAuthenticated ? element : <Navigate to="/login" />;
}
<Route path="/admin" element={<PrivateRoute element={<AdminPanel />} />} />
以上方法涵盖了 React 路由的主要使用场景,可根据项目需求选择合适的实现方式。






