react路由如何配置
React 路由配置方法
React 路由通常使用 react-router-dom 库实现,以下是常见的配置方式:
安装依赖
npm install react-router-dom
基础路由配置
在项目入口文件(如 App.js)中配置路由:
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './components/Home';
import About from './components/About';
function App() {
return (
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Router>
);
}
嵌套路由配置
对于嵌套路由(子路由),可在父组件中继续定义:

<Route path="/user" element={<UserLayout />}>
<Route path="profile" element={<Profile />} />
<Route path="settings" element={<Settings />} />
</Route>
动态路由参数
通过冒号语法定义动态参数:
<Route path="/products/:id" element={<ProductDetail />} />
在组件中可通过 useParams 获取参数:

import { useParams } from 'react-router-dom';
function ProductDetail() {
const { id } = useParams();
return <div>Product ID: {id}</div>;
}
404 路由处理
在路由列表最后添加通配符路径:
<Route path="*" element={<NotFoundPage />} />
编程式导航
使用 useNavigate 钩子实现跳转:
import { useNavigate } from 'react-router-dom';
function Home() {
const navigate = useNavigate();
return (
<button onClick={() => navigate('/about')}>
Go to About
</button>
);
}
路由守卫(认证控制)
通过高阶组件或自定义包装实现:
const PrivateRoute = ({ children }) => {
const isAuthenticated = checkAuth(); // 自定义认证逻辑
return isAuthenticated ? children : <Navigate to="/login" />;
};
// 使用方式
<Route path="/dashboard" element={<PrivateRoute><Dashboard /></PrivateRoute>} />
注意事项
- React Router v6 使用
Routes替代旧版的Switch - 所有路由定义必须包裹在
Routes组件内 - 嵌套路由的路径会自动拼接父路由路径
- 推荐使用函数组件配合 Hooks 进行路由操作






