Routing
File-system based routing in the App Router.
Official docs
File Conventions
| File | Purpose |
|---|---|
page.tsx | Route UI |
layout.tsx | Shared layout wrapper |
loading.tsx | Loading UI (Suspense boundary) |
error.tsx | Error boundary |
route.ts | API route handler |
Nested Routes
app/
layout.tsx
page.tsx
blog/
layout.tsx
page.tsx
[slug]/
page.tsx
Dynamic Segments
// app/blog/[slug]/page.tsx
export default function Post({ params }: { params: { slug: string } }) {
return <h1>Post: {params.slug}</h1>;
}