当前位置: 首页 > web >正文

第三章支线七 ·路由边境 · 多页世界的穿梭之术

🗺 剧情设定

幻域之外,是一片破碎但无限延展的“路由边境”。林昊穿行其间,发现每一座界面之门都由“路径符文”所控制。他必须掌握「穿梭之术」,才能真正构建起完整的多页应用宇宙。


🚪 路由的本质与单页幻术

林昊面前是一道“单页之门”,门上铭文写着:

“你所见为一,其实为多。”

这正是 单页应用(SPA) 的奥秘:
• 页面并非真正跳转,而是拦截路径变化,局部渲染组件。

基本原理:

用户点击链接 → 阻止默认跳转
→ 修改地址栏(history.pushState)
→ 路由系统决定显示哪个组件

🧭 React Router 入门

林昊获得了传说中的「React Router 灵石」,激活基本穿梭能力。

import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';function App() {return (<BrowserRouter><nav><Link to="/">首页</Link><Link to="/about">关于</Link></nav><Routes><Route path="/" element={<Home />} /><Route path="/about" element={<About />} /></Routes></BrowserRouter>);
}

🌀 动态路由与嵌套路由

林昊踏入一片变幻莫测的“动态路径领域”。路径本身携带变量与状态。

示例:动态用户页面

<Route path="/user/:id" element={<User />} />function User() {const { id } = useParams();return <div>当前用户:{id}</div>;
}

嵌套路由

<Route path="/dashboard" element={<Dashboard />}><Route path="stats" element={<Stats />} /><Route path="settings" element={<Settings />} />
</Route>

🔍 链接、导航与重定向

林昊学会:

  • Link 替代 标签,避免刷新
  • useNavigate() 实现编程式导航
  • 进行重定向

const navigate = useNavigate();
navigate(‘/home’);


🧪 实战试炼 · 创建路由世界

  1. 创建两个页面组件 Home 与 About,通过 Link 连接
  2. 创建 /user/:id 路由,展示动态内容
  3. 设置默认重定向路径
  4. 构建一个包含嵌套路由的“控制台”页面

📚 本章回顾

概念内容
SPA单页应用,前端控制页面切换
React Router路由系统的核心工具
动态路由根据路径参数渲染不同页面
嵌套路由组件结构映射到页面结构
导航方式Link、useNavigate、Navigate 等

🎖 林昊收获

称号:边境巡游者(Route Walker)
解锁技能:

  • 构建前端多页系统
  • 管理路径映射组件的逻辑关系
  • 进行动态渲染与嵌套页面布局
http://www.xdnf.cn/news/13870.html

相关文章:

  • 【MicronTech】eMMC 部件编号解析
  • flutter 的lottie执行一次动画后关闭
  • Windows美化终端、安装wsl和docker
  • Python Day49
  • 一阶/二阶Nomoto模型(野本模型)为何“看不到”船速对回转角速度/角加速度的影响?
  • 智慧管廊数字化运维管理平台
  • 规则引擎rule-engine v1.0实现解释(一)-规则,执行,容器
  • Vue3中组件Ref打印Proxy(Object)与defineExpose的深度解析
  • navicat 有免费版了,navicat 官方免费版下载
  • vue2项目开发中遇到的小问题
  • Goland使用手册(1)
  • 【亲测有效】MybatisPlus中MetaObjectHandler自动填充字段失效
  • Tess4J:基于 Java 的 OCR 解决方案
  • php反序列化漏洞学习
  • 电脑PC端使用的备忘录记事软件推荐哪个
  • 【3】使用TRAE AI在已有框架中新增页面并实现切换的痛苦经历
  • boa 找不到动态库的解决办法:
  • 【零基础勇闯嵌入式岗】从单片机低功耗中获得的启发
  • 正则表达式入门
  • 【AIGC】Qwen3-Embedding:Embedding与Rerank模型新标杆
  • 【狂飙AGI】第2课:大模型方向市场分析
  • # Flask:Python的轻量级Web框架入门之旅(超级实用!)
  • 测试过程中有哪些风险?
  • KU115LPE-V10型FPGA加速卡
  • Linux操作系统之文件系统下
  • 友思特方案 | 友思特车载双目相机技术赋能农业:Monarch 智能拖拉机解决方案
  • linux基础day01
  • [25-cv-06422]David律所代理Dreams USA玩具手办商标维权
  • Java日期格式化
  • Swift 解法详解:如何在二叉树中寻找最长连续序列