본문 바로가기
2026년 5월 2일2분 읽기

Next.js 16에서 'use cache' 안에 cookies() 호출하면 빌드 에러가 나는데 어떻게 해결하나요

김영삼
조회 434댓글 5

15에서 16으로 업그레이드한 뒤 빌드가 안 됩니다. 사용자별 헤더가 들어가는 영역까지 통째로 'use cache' 안에 넣어두고 있었는데 16에선 에러로 떠요.

환경: Next.js 16.2.1, React 19.2, App Router, Vercel 배포

에러 메시지:

Error: Route /dashboard used "cookies" inside "use cache".
Accessing dynamic data sources inside a cache scope is not supported.
Learn more: https://nextjs.org/docs/messages/next-request-in-use-cache

문제 코드 (대략 이런 모양입니다):

// app/dashboard/page.tsx
'use cache'

export default async function Dashboard() {
  const user = await getUser()         // 내부에서 cookies() 호출
  const data = await fetchProjects(user.id)
  return <DashboardView user={user} data={data} />
}

구조상 이 페이지의 80%는 캐시되어도 되고, 20%(사용자 헤더·아바타)만 동적이면 됩니다. 'use cache' 자체를 빼면 너무 느려져서 부분 캐싱을 하고 싶은데, 어떤 패턴이 맞나요? force-dynamic으로 통째 빼는 것 말고 다른 방법이 있을까요?

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록