react 如何搭建路由项目
安装必要依赖
确保项目已初始化并安装 react-router-dom。通过 npm 或 yarn 安装:
npm install react-router-dom
# 或
yarn add react-router-dom
配置基础路由结构
在入口文件(如 App.js)中引入路由组件并定义路由结构:
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import About from './pages/About';
function App() {
return (
<Router>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</Router>
);
}
创建页面组件
在 pages 目录下创建对应页面的组件文件。例如 Home.js:
export default function Home() {
return <h1>Home Page</h1>;
}
添加导航链接
使用 Link 组件实现页面跳转,避免浏览器刷新:
import { Link } from 'react-router-dom';
function Navigation() {
return (
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
</nav>
);
}
处理动态路由
通过 :param 定义动态路径,并通过 useParams 获取参数:
// 路由配置
<Route path="/user/:id" element={<UserProfile />} />
// UserProfile.js
import { useParams } from 'react-router-dom';
export default function UserProfile() {
const { id } = useParams();
return <div>User ID: {id}</div>;
}
实现嵌套路由
使用 Outlet 组件渲染子路由内容:
// 父路由配置
<Route path="/dashboard" element={<Dashboard />}>
<Route path="settings" element={<Settings />} />
</Route>
// Dashboard.js
import { Outlet, Link } from 'react-router-dom';
export default function Dashboard() {
return (
<div>
<h1>Dashboard</h1>
<Link to="settings">Settings</Link>
<Outlet /> {/* 子路由内容将在此渲染 */}
</div>
);
}
配置404页面
在路由末尾添加 path="*" 作为兜底路由:
<Route path="*" element={<NotFound />} />
可选:使用懒加载
通过 React.lazy 和 Suspense 实现组件懒加载:
const About = React.lazy(() => import('./pages/About'));
<Routes>
<Route
path="/about"
element={
<Suspense fallback={<div>Loading...</div>}>
<About />
</Suspense>
}
/>
</Routes>






