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

从0死磕全栈之Next.js App Router动态路由详解:从入门到实战

Next.js 是基于 React 的全栈框架,其动态路由功能让我们能轻松构建支持参数化 URL 的页面(比如用户详情页 /users/123、商品详情页 /products/shoes)。本文基于 Next.js App Router(app/ 目录),通过简单易懂的方式,带你掌握动态路由的核心用法。


一、动态路由的基本概念

在 Next.js 中,动态路由指的是页面路径中包含可变参数(如 idslug 等),通过这些参数可以渲染不同的内容。例如:

  • /users/[id] → 对应用户 ID 为 123… 的详情页
  • /posts/[slug] → 对应文章别名为 hello-worldnextjs-guide… 的详情页

💡 什么是 slug?
Slug 是内容的友好 URL 别名(如 nextjs-guide),用于替代生硬的 ID。例如将文章标题“如何学习 Next.js”转为 URL 路径:how-to-learn-nextjs


二、App Router 中的动态路由写法

1. 文件命名规则

app 目录下,动态参数用方括号 [ ] 作为文件夹名,页面文件必须命名为 page.tsx(或 page.js):

  • 单参数页面app/users/[id]/page.tsx → 访问 /users/123 时,id = '123'
  • 多参数页面app/posts/[category]/[slug]/page.tsx → 访问 /posts/tech/nextjs-guide 时,参数为 { category: 'tech', slug: 'nextjs-guide' }

关键区别
Pages Router 是 pages/users/[id].tsx,而 App Router 是 app/users/[id]/page.tsx


三、获取动态路由参数

在 App Router 中,动态参数通过 params 对象传入页面组件(无需 Hook):

示例:用户详情页

// app/users/[id]/page.tsx
export default async function UserDetail({ params }: { params: { id: string } }) {const { id } = await params; // id 类型为 string// 模拟从 API 获取用户数据(服务端执行!)const res = await fetch(`https://jsonp
http://www.dtcms.com/a/438465.html

相关文章:

  • RAG 入门全流程代码实战
  • Simulink模型转NuSMV模型(2006)
  • 内蒙古网站建设百度网站建设以什么盈利
  • 工业网站建设wordpress设置新浪邮箱
  • WSDL 文档:理解与使用
  • 网站建设丨金手指15设计师联盟官网效果图
  • Python3 MongoDB 使用指南
  • 沁恒微 RISC-V 芯片开发工具 MounRiver Studio 使用
  • IDEA快速上手指南!
  • 做网站用户充值提现吉林网站推广公司
  • 深圳建科技有限公司网站首页中国建筑业协会
  • [Windows] 利用AI写的一款自用多功能密码管理器开源
  • 4. 矩阵代数
  • 蛋白质的性质和研究方法
  • 【专业词典】PDCA
  • 云南网站推广大连集团网站建设
  • Sora 2 的社交野心:AI 如何重构内容社交产品逻辑?
  • 免费行情网站看男科一般花多少钱
  • 突破规模瓶颈的密钥:混合专家模型(MoE)的架构演进与应用
  • 厦门最早做网站的公司曲阳网站建设在哪
  • Spring Boot 的 7 大核心优势
  • GitLab入门教程:打开DevOps全流程的大门
  • 旅行社网站规划与建设的流程中国建设银行网站主要功能
  • 【408计组】3.2 主存储器的基本组成
  • 长沙门户网站建设公司徐典超 网站建设
  • 百度做任务的网站网站建设中古典武侠中文字幕
  • 【pytest】finalizer 执行顺序:FILO 原则
  • Windows11配置MSYS2+vscode+cpp+cmake环境
  • flash网站需要改变足球比赛直播观看
  • 批量M3U8转MP4工具