Next.js 独立开发教程 (五):创建布局和页面

 更多有关Next.js教程,请查阅

【目录】Next.js 独立开发系列教程-CSDN博客

有兴趣的可以蹲个后续,我会陆续发布一系列的文章。

这个Next.js的入门教程算是告一段落,接下来,会是分章节的Next.js要点讲解,以及基于Next.js拓展的文章,例如:SEO、社交化营销、商业化布局等等。

Anyway,我会以建设独立开发能力为目标,精选一些实用的技术和非技术的内容跟大家分享。


目录

1. Next.js 文件路由系统简介

2. 创建页面:构建仪表盘模块

2.1 创建基础页面

2.2 使用内置的 `Link` 组件实现导航

3. 动态路由:实现用户详情页面

3.1 创建动态路由文件

3.2 动态路由导航

4. 创建布局:实现页面结构复用

4.1 创建布局组件

4.2 使用布局组件

5. 为特定页面使用不同的布局

5.1 定义页面的布局

5.2 修改 `_app.js` 以支持页面布局

6. 实现嵌套路由和多层布局

6.1 创建嵌套路由结构

6.2 为嵌套路由创建独特的布局

6.3 应用到嵌套路由

7. 总结与最佳实践


在 Web 开发中,页面和布局的设计是构建用户界面(UI)的核心任务。Next.js 通过其内置的文件路由系统和组件架构,使开发者能够轻松创建功能丰富的页面和可复用的布局。这篇文章将详细讲解如何使用 Next.js 构建页面与布局,并结合实践案例,帮助您在仪表盘项目中快速掌握这些技能。

1. Next.js 文件路由系统简介

Next.js 的文件路由系统基于项目中的 `pages` 目录:

  • 每个文件自动成为一个路由。
  • 文件名对应于 URL 路径。
  • 支持动态路由和嵌套路由。

例如:

  • pages/index.js 对应 `/` 路由。
  • pages/dashboard.js 对应 `/dashboard` 路由。
  • 嵌套文件夹 `pages/admin/settings.js` 对应 `/admin/settings` 路由。

以下将详细介绍页面和布局的构建方法,并在仪表盘应用中应用这些知识。

2. 创建页面:构建仪表盘模块

2.1 创建基础页面

在 `pages` 目录中添加一个 `dashboard.js` 文件,用于定义仪表盘页面:

// pages/dashboard.js
export default function Dashboard() {
  return (
    <div>
      <h1>仪表盘</h1>
      <p>欢迎来到仪表盘页面!</p>
    </div>
  );
}

启动开发服务器后访问 `/dashboard`,即可看到仪表盘页面。

2.2 使用内置的 `Link` 组件实现导航

Next.js 提供了内置的 `Link` 组件用于在页面间导航,无需刷新页面(客户端渲染)。在主页中添加导航链接到仪表盘页面:

// pages/index.js
import Link from 'next/link';

export default function Home() {
  return (
    <div>
      <h1>首页</h1>
      <Link href="/dashboard">前往仪表盘</Link>
    </div>
  );
}

3. 动态路由:实现用户详情页面

动态路由允许创建带参数的页面。例如,在仪表盘应用中,我们希望每个用户都有独立的详情页面。实现方法如下:

3.1 创建动态路由文件

在 `pages/dashboard` 目录中添加 `[id].js` 文件:

// pages/dashboard/[id].js
import { useRouter } from 'next/router';

export default function UserDetail() {
  const router = useRouter();
  const { id } = router.query; // 获取动态路由参数

  return (
    <div>
      <h1>用户详情</h1>
      <p>当前用户 ID:{id}</p>
    </div>
  );
}

访问 `/dashboard/1` 会显示 ID 为 1 的用户详情。

3.2 动态路由导航

在仪表盘页面中,为每个用户添加导航链接:

// pages/dashboard.js
import Link from 'next/link';

const user
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二进制独立开发

感觉不错就支持一下呗!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值