신비한 개발사전

Next.js 페이지의 params 및 searchParams 본문

Frontend

Next.js 페이지의 params 및 searchParams

jbilee 2024. 4. 21. 21:34

Next.js 프로젝트에서는 다양한 방법으로 페이지의 route path와 쿼리 파라미터를 읽을 수 있는데, 그중 Pages Router에서 useRouter 훅 외적으로 쓸 수 있는 방법을 정리해봤다.

 

useParams 훅으로 dynamic route값 읽기

내 페이지가 dynamic route를 쓴다면 useParams() 훅으로 바로 그 값에 접근할 수 있다. useRouter() 훅의 라우터 객체를 통하지 않고 순수하게 query 객체만 읽을 수 있는 전용 훅이다.

// src/pages/[hello]/index.tsx

import { useParams } from "next/navigation";

export default function Page() {
  const params = useParams(); // params: { "hello": "URL_PATH" }
  return <div>...</div>;
}

 

useSearchParams 훅으로 쿼리 읽기

페이지 URL에 직접적으로 사용하는 쿼리문도 간편하게 접근 가능하다. useSearchParams() 훅으로 객체를 받은 뒤에 해당 객체에 .get() 메소드를 써 내가 원하는 쿼리 key에 해당하는 값을 가져오면 된다.

// path가 www.사이트.com?hello=world 일 경우

import { useSearchParams } from "next/navigation";

export default function Page() {
  const searchParams = useSearchParams();
  const queryValue = searchParams.get("hello"); // queryValue: "world"
  return <div>...</div>;
}

 

 

참고: