useRouter() hook

useRouter 훅을 사용하면 클라이언트 컴포넌트에서 프로그래밍 방식으로 경로를 변경할 수 있다.

'use client'
 
import { useRouter } from 'next/navigation'
 
export default function Page() {
  const router = useRouter()
 
  return (
    <button type="button" onClick={() => router.push('/dashboard')}>
      Dashboard
    </button>
  )
}

useRouter의 모든 메서드에 대한 전체 목록 → 자세히 보기

<aside> 💡 useRouter를 사용해야 하는 특정 요구 사항이 없는 한 <Link> 컴포넌트를 사용하여 경로 간에 탐색하는 것을 권장한다.

</aside>

redirect function

서버 컴포넌트의 경우, redirect 함수를 사용한다.

import { redirect } from 'next/navigation'
 
async function fetchTeam(id: string) {
  const res = await fetch('https://...')
  if (!res.ok) return undefined
  return res.json()
}
 
export default async function Profile({ params }: { params: { id: string } }) {
  const team = await fetchTeam(params.id)
  if (!team) {
    redirect('/login')
  }
 
  // ...
}

<aside> 💡 redirect

</aside>


항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.

Routing: Linking and Navigating

항해99

#개발자포트폴리오 #개발자이력서 #개발자취업 #개발자취준 #코딩테스트 #항해99 #취리코 #취업리부트코스