react当中如何定义路由格式
路由定义基础
在React中,通常使用react-router-dom库定义路由。安装依赖后,通过BrowserRouter、Routes和Route组件配置路由路径与组件的映射关系。
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import Home from './Home';
import About from './About';
function App() {
return (
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>
);
}
动态路由参数
通过冒号(:)定义动态路由参数,例如/user/:id。在目标组件中使用useParams钩子获取参数值。

<Route path="/user/:id" element={<UserProfile />} />
// UserProfile组件内
import { useParams } from 'react-router-dom';
function UserProfile() {
const { id } = useParams();
return <div>User ID: {id}</div>;
}
嵌套路由配置
使用<Outlet>组件实现嵌套路由,父路由需定义子路由的渲染位置。

<Route path="/dashboard" element={<Dashboard />}>
<Route path="settings" element={<Settings />} />
<Route path="profile" element={<Profile />} />
</Route>
// Dashboard组件内需包含Outlet
import { Outlet } from 'react-router-dom';
function Dashboard() {
return (
<div>
<h1>Dashboard</h1>
<Outlet /> {/* 子路由在此渲染 */}
</div>
);
}
路由通配与404处理
path="*"匹配未定义的路由,通常用于渲染404页面。
<Route path="*" element={<NotFoundPage />} />
编程式导航
通过useNavigate钩子实现代码跳转,例如表单提交后跳转页面。
import { useNavigate } from 'react-router-dom';
function LoginButton() {
const navigate = useNavigate();
return <button onClick={() => navigate('/dashboard')}>Login</button>;
}






