[Next.js] Navigate Between Pages

Navigate Between Pages


설명

  • Link 컴포넌트는 Next.js 앱의 페이지 간에 client-side-navigation을 가능하게 함
  • 자바스크립트를 통해서 페이지 전환을 하기 때문에 브라우저 기본 네비게이션보다 빠르다.
  • 페이지 이동시에 refresh가 없다.

import

import Link from 'next/link'

생성

  • a 태그 대신에 Link 태그를 사용한다.
  • a 태그는 Link 태그 안에서 링크를 감싸준다.
<h1 className="title">
  Read{' '}  ' ' 빈칸은 a태그와의 띄어쓰기
  <Link href="/posts/first-post"> 
    <a>this page!</a>
  </Link>
</h1>
  • 인덱스 페이지로 가는 링크
<div className="container">
  <h1>First Post</h1>
  <Link href="/">  index라고 적을 필요 없다.
    <a>Back to home</a>
  </Link>
</div>

Code Splitting and prefetching

  • Next.js는 code splitting을 자동으로 수행한다.
  • 그래서 페이지가 render 될 때 필요한 페이지 외에는 초기화 되지 않는다.
  • 각 페이지가 isolated 되어있기 때문에 한 페이지에서 오류가 나도 나머지 애플리케이션은 정상작동한다.
  • Link 태그로 연결된 페이지는 prefetch 되기 때문에 빠르게 이동할 수 있다.

Note

  • 만약 Next.js 앱 외부의 페이지와 연결하고 싶다면 기존의 a 태그를 이동
  • a 태그의 className 속성을 이용하고 싶다면 아래와 같이 사용
<Link href="/">
  <a className="foo" target="_blank" rel="noopener noreferrer">
    Hello World
  </a>
</Link>

links

social