Link 컴포넌트
Next.js의 <Link>는 HTML <a> 태그를 확장하여 prefetching과 client-side navigation을 제공합니다. 아래 링크를 클릭하면서 페이지 전환이 전체 reload 없이 일어나는지 확인해보세요.
파일 구조
app/linking/
├── page.tsx → /linking (현재 페이지)
└── blog/
├── page.tsx → /linking/blog
└── ...블로그 포스트 목록 (Link 사용)
hover 시 prefetch가 시작되고, 클릭 시 client-side 전환이 일어납니다.
핵심 코드
import Link from 'next/link'
export default async function Post({ post }) {
const posts = await getPosts()
return (
<ul>
{posts.map((post) => (
<li key={post.slug}>
<Link href={`/blog/${post.slug}`}>
{post.title}
</Link>
</li>
))}
</ul>
)
}Good to know: <Link>는 Next.js에서 라우트 간 이동의 기본 방법입니다. 프로그래매틱 네비게이션에는 useRouter hook을 사용할 수 있습니다.