尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Next-4-路由导航

Next-4-路由导航
📅 发布时间:2026/6/20 12:33:55

客户端路由导航方式

Link 组件

通过Next.js提供的<Link>组件实现页面跳转,避免整页刷新,提升用户体验。需从next/link导入,例如:

importLinkfrom"next/link";exportdefaultfunctionHomePage(){return(<div><Link href="/home/kun"className="cursor-pointer text-blue-500">跳转kun</Link><br/><Link href={{pathname:"/home/me",query:{name:["kun",'kun2']}}}className="cursor-pointer text-red-500">跳转me,并携带参数</Link><br/><Link href={{pathname:"/home/me",}}prefetch={true}className="cursor-pointer text-red-500">预获取页面</Link><br/><Link href={{pathname:"/home/me"}}scroll={true}className="cursor-pointer text-blue-500">保持当前滚动位置</Link><br/><Link href={{pathname:"/home/me"}}replace={true}className="cursor-pointer text-red-500">替换当前路由</Link></div>)}

接收参数(useSearchParams ):

'use client'importLinkfrom"next/link";import{useSearchParams}from"next/navigation";exportdefaultfunctionMePage(){// 获取路由传递的参数constsearchParams=useSearchParams()constname=searchParams.get("name")constnames=searchParams.getAll("name")console.log('传递的参数:',name)console.log('传递的多个参数:',names)return(<div><h1>Me</h1><Link href="/home/kun">Kun</Link></div>)}
useRouter Hook

useRouter 是 Next.js 提供的 React Hook,用于访问路由对象,实现客户端导航、获取路由参数、查询字符串等操作。需从 next/router 导入。

方法作用一行代码示例
push(url)新增一条历史记录并跳转router.push('/dashboard')
replace(url)替换当前历史记录(不留“后退”)router.replace('/login')
back()等价于浏览器后退按钮router.back()
forward()等价于浏览器前进按钮router.forward()
refresh()重新请求当前页面数据(不闪屏)router.refresh()
prefetch(url)静默预拉取目标页面(提升切页速度)router.prefetch('/detail')
小栗子
<button onClick={()=>router.push({pathname:'/product/[id]',query:{id:100,ref:'tw'}})}>查看商品</button>

路由预加载策略

自动预加载
<Link>组件默认预加载视口内链接资源,通过prefetch={false}可禁用。

手动预加载
通过router.prefetch()主动预加载目标路由:

useEffect(()=>{router.prefetch('/settings');},[]);

动态路由导航

模板字符串路径
动态路由参数可通过模板字符串传递:

router.push(`/posts/${postId}`);
importLinkfrom"next/link"exportdefaultfunctionPage(){constarr=[1,2,3,4,5]returnarr.map((item)=>(<Link key={item}href={`/page/${item}`}>动态渲染的Link</Link>))}

对象形式路径
支持传递pathname和query对象,适用于复杂参数:

router.push({pathname:'/search',query:{keyword:'nextjs'}});

路由事件监听

通过router.events监听路由变化事件:

router.events.on('routeChangeStart', (url) => { console.log('路由开始变化:', url); });

服务端路由导航

redirect函数
在服务端组件或Server Actions中使用(HTTP 307):

import{redirect}from'next/navigation';redirect('/login');

permanentRedirect
适用于永久重定向场景(HTTP 308):

permanentRedirect('/new-url');

相关新闻

  • GPT-SoVITS训练资源消耗分析:GPU内存占用实测
  • 16、游戏开发中的敏捷技术实践
  • 17、游戏开发中的敏捷技术与艺术实践

最新新闻

  • 2026年6月最新浪琴中国官方售后服务网点客服地址及电话 - 浪琴服务中心
  • 2026年6月最新卡地亚中国官方售后客服热线地址及服务网点查询 - 卡地亚服务中心
  • 2026北京劳力士二手回收门店盘点:一文匹配适合你的店铺。附黑水鬼、日志型、迪通拿估价指南 - 博客万
  • 2026年6月最新江诗丹顿中国官方售后服务地址与客服电话网点列表 - 江诗丹顿服务中心
  • 终极指南:如何在Windows 11上安装免费Bili.UWP客户端享受原生B站体验
  • 抖音有实力的直播公会推荐 - 速递信息

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号