Logo
Section 1 / 10

React Router 简介

学习 React Router 如何简化单页应用中的导航并提升可扩展性。

导入

React Router 简介

学习 React Router 如何简化单页应用中的导航并提升可扩展性。

No configuration found for ID: 6ac85173867d9e4a93c46f3edf279c37e6f18498f02a2d849e1c7f7cc9d618f2

No configuration found for ID: 33779b37d587d014d4cc96539455537ee3c8c7c2b84d79d6782926d40da2a05e

表格

方面手动导航(不使用 React Router)React Router
导航使用 useState 和条件渲染手动处理。使用 Routes 和 Route 组件自动管理。
页面的 URL不更新 URL;所有导航为内部跳转,破坏书签等浏览器功能。每个页面都有唯一 URL,支持书签和分享。
浏览器刷新刷新后应用重置为默认状态,丢失当前页面。刷新后保留当前页面,通过 URL 路由实现。
可扩展性随着应用增长难以维护;添加新页面需修改状态和导航逻辑。易于扩展;新增页面只需定义新的 Route 和组件。
SEO 优化较差;搜索引擎无法索引各个页面。更好;支持页面唯一 URL,有助于索引(结合 SSR 等工具可进一步优化)。
代码复用性多个组件中重复代码(如导航栏)。常用组件(如导航栏)只需定义一次,可在整个应用中复用。
性能较慢;每次渲染都会重新评估页面状态,尤其在条件较多时。更快;React Router 高效处理渲染,无需手动重新评估状态。
动态路由无额外自定义逻辑几乎不可行。原生支持路由参数,轻松实现动态路由。
用户体验较差;全页刷新或手动更新导致延迟。流畅;无全页刷新,性能和体验更佳。

钩子:在 React 组件中管理状态和副作用

在 React 中定义路由