该资料是一份 Next.js 服务端组件导航模式指南,核心用途是指导开发者在 Server Component 中正确实现页面跳转与重定向。主要能力包括:使用 <Link> 组件创建静态或动态导航链接,使用 redirect() 函数进行基于服务端数据、鉴权或权限校验的条件重定向,以及在 Server Action 中通过 redirect() 实现表单提交后的程序化跳转。资料强调服务端组件无需添加 'use client',可以保持 async 并直接获取数据,导航时不需要任何 hooks。
使用方式上,静态链接优先使用 import Link from 'next/link' 并传入 href;条件跳转使用 import { redirect } from 'next/navigation',配合 cookies()、headers() 等服务端 API;表单提交场景使用 'use server' 定义的 Server Action,在动作内执行数据操作后调用 redirect()。
适用场景包括服务端渲染的导航链接、登录鉴权后重定向、机器人检测跳转、表单提交后跳转到新建资源等。限制方面,useRouter() 与 usePathname() 仅适用于客户端组件,不能在服务端组件中使用;仅当需要基于客户端状态做程序化导航、依赖浏览器 API 或使用 React hooks 时才应改用客户端组件。资料还提醒避免为简单导航添加 'use client',并建议使用正确的 TypeScript 类型而非 any。