전통적인 웹사이트에서는 <a>
태그를 사용하여 페이지 간 이동을 구현했다. 하지만 이 방식은 매번 전체 페이지를 새로고침하게 되므로 다음과 같은 문제가 발생한다.
Next.js는 이러한 문제를 해결하기 위해 Link
컴포넌트를 제공한다.
Link
컴포넌트는 HTML의 <a>
태그와 유사하게 작동하므로 검색 엔진이 링크를 크롤링할 수 있습니다.<Link href="/about" prefetch={false}>Go to About Page</Link>
<Link href={`/post/${postId}`}>View Post</Link>
Next.js의 Link 컴포넌트는 두 가지 중요한 최적화 기능을 제공합니다:
// pages/index.tsx
import Link from 'next/link';
export default function HomePage() {
return (
<div>
<h1>웰컴 페이지</h1>
{/* 이 링크가 viewport에 들어오면 자동으로 코드를 프리페치 */}
<Link href="/dashboard">
대시보드로 이동
</Link>
</div>
);
}
tsx
Copy
// components/NavBar.tsx
import Link from 'next/link';
export default function NavBar() {
return (
<nav className="flex space-x-4">
<Link
href="/products"
prefetch={true}// 명시적으로 프리페칭 설정 가능
>
제품 목록
</Link>
</nav>
);
}