강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

chahoon12343님의 프로필 이미지
chahoon12343

작성한 질문수

한 입 크기로 잘라먹는 Next.js(v15)

3.2) 페이지 라우팅 설정하기

클라이언트 컴포넌트에서 params나 searchParams를 사용할때도 Promise를 써야하나요?

해결된 질문

작성

·

79

0

서버컴포넌트가 아닌 클라이언트 컴포넌트에서 params나 searchParams를 사용할때도 아래처럼
{ params, }: { params: Promise<{ id: string }> }
Promise를 붙여야하나요??

아니면 hook을 사용해서 값을 받아오나요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

페이지 컴포넌트가 클라이언트 컴포넌트인 상황에서는 useSearchParams와 useParams라는 hook을 사용해 값을 불러오실 수 있습니다 😃

useSearchParams는 서치파라미터(쿼리스트링)을 불러오는 동작을 하구요 아래와 같이 사용하실 수 있습니다.

'use client'
 
import { useSearchParams } from 'next/navigation'
 
export default function SearchBar() {
  const searchParams = useSearchParams()
  const search = searchParams.get('search')

  return <>Search: {search}</>
}

useParams는 URL 파라미터를 불러오는 동작을 합니다. 아래와 같이 사용하실 수 있어요

'use client'
 
import { useParams } from 'next/navigation'
 
export default function ExampleClientComponent() {
  const params = useParams<{ tag: string; item: string }>()
  console.log(params)
 
  return '...'
}
chahoon12343님의 프로필 이미지
chahoon12343

작성한 질문수

질문하기