React Router 是 React 生态中用于处理路由的主流库,支持单页应用(SPA)中的动态页面跳转与组件渲染。以下是关键知识点梳理:
核心概念 📌
- 路由匹配:通过
Route
组件定义路径与组件的映射关系<Route path="/about" component={About} />
- 嵌套路由:使用
Route
的children
属性实现层级结构<Route path="/users"> <Route path="/users/:id" component={User} /> </Route>
- 动态路由:通过
:param
语法捕获可变参数- 示例:
/posts/:postId/comments
可获取postId
参数
- 示例:
快速入门 🧰
- 安装依赖
npm install react-router-dom
- 基础配置
- 使用
BrowserRouter
包裹应用 - 通过
Link
组件创建导航链接 - 用
Route
匹配路径并渲染组件
- 使用
高级功能 🔍
- 路由守卫:通过
component
或render
属性实现权限控制 - 路由参数:使用
useParams
提取动态路径参数 - 路由重定向:用
Redirect
组件实现页面跳转<Redirect to="/home" />
- 路由嵌套:结合
Outlet
实现多级路由渲染
常见问题 ❓
- Q: 如何处理 404 页面?
A: 使用Route
的path="*"
匹配所有未定义路径 - Q: 如何实现路由懒加载?
A: 使用React.lazy
与Suspense
组合优化性能
扩展阅读 📘
React Router 官方文档 提供更详细的 API 说明与使用案例,建议深入学习路由状态管理与编程式导航技巧。