Next.js의 네비게이팅

woodstockwoodstock
1 min read

네비게이팅 방식


1. 페이지 이동

<header>
  <Link href={"/"}>index</Link>
  <Link href={"/search"}>search</Link>
  <Link href={"/book/1"}>book/1</Link>
</header>

1-2. Programmatic Navigation

사용자가 링크를 직접 클릭했을 때 페이지를 이동시키는 방식이 아니라, 특정 버튼이 클릭되거나 특정 조건을 만족했을 경우에 어떤 함수 내부에서 페이지를 이동시키는 방법

import { useRouter } from "next/router"; // 페이지 라우터 버전
import { useRouter } from "next/navigation"; // 앱 라우터 버전

export default function App() {
  const router = useRouter();

  const onClickButton = () => {
    router.push("/test");
  };

  return (
    <div>
      <button onClick={onClickButton}>/test 페이지로 이동</button>
    </div>
  )
}


2. Pages Router와 App Router에서의 차이점

2-1. Pages Router

  • 페이지 이동 요청시 JS 번들 파일을 받아와서 브라우저 차원에서 실행해서 페이지를 교체
  • JS 번들은 페이지 이동 요청 전에 프리페칭 함
  • useRouter"next/router"에서 import 해온다.

2-2. App Router

  • 페이지 이동 요청시 JS 번들 파일과 함께 RSC Payloader도 전달
  • useRouter"next/navigation"에서 import 해온다.
0
Subscribe to my newsletter

Read articles from woodstock directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

woodstock
woodstock

안녕하세요! 프론트엔드 개발자 woodstock입니다. 저는 매일 조금씩 발전하고자 하는 마음으로 개발공부를 시작했고, 이 블로그는 그 과정에서 배우고 성장하는 이야기를 담고 있습니다. 여러분의 피드백과 조언은 언제나 환영합니다! 함께 배우고 성장하는 과정을 즐길 수 있기를 기대합니다.