什么是 App Router?
Next.js 13 引入了全新的 App Router,基于 React Server Components 构建。相比传统的 Pages Router,App Router 提供了更灵活的路由和布局系统。
核心概念
1. 文件系统路由
在 app/ 目录下,每个文件夹代表一个路由段。特殊文件名有特定用途:
page.tsx— 路由页面layout.tsx— 共享布局loading.tsx— 加载状态error.tsx— 错误处理
2. 服务端组件
App Router 中的组件默认是服务端组件(Server Components),它们在服务器上渲染,不会增加客户端 JavaScript 体积。
tsx
3. 客户端组件
需要交互性的组件使用 "use client" 指令:
tsx
数据获取
App Router 使用原生 fetch API 进行数据获取,并支持自动缓存和重新验证:
typescript
总结
App Router 是 Next.js 的未来方向,它利用 React Server Components 的能力,提供了更好的性能和开发体验。如果你正在开始一个新项目,强烈推荐使用 App Router。