"use cache"에서 cookies() 또는 headers()에 접근할 수 없음
"use cache"에서 cookies() 또는 headers()에 접근할 수 없음 | Next.js
섹션 제목: “"use cache"에서 cookies() 또는 headers()에 접근할 수 없음 | Next.js”Source URL: https://nextjs.org/docs/messages/next-request-in-use-cache
DocsErrors"use cache"에서 cookies() 또는 headers()에 접근할 수 없음
"use cache"에서 cookies() 또는 headers()에 접근할 수 없음
섹션 제목: “"use cache"에서 cookies() 또는 headers()에 접근할 수 없음”이 오류가 발생한 이유
섹션 제목: “이 오류가 발생한 이유”함수 하나가 "use cache" 주석이 달린 함수의 범위 안에서 현재 들어오는 요청을 읽으려고 했습니다. 이렇게 하면 요청마다 캐시가 무효화되어 의도한 동작이 아니기 때문에 지원되지 않습니다.
가능한 해결 방법
섹션 제목: “가능한 해결 방법”"use cache" 함수 내부에서 호출하는 대신, 함수를 벗어난 곳으로 이동시키고 값을 인자로 전달하세요. 이렇게 하면 전달된 특정 값이 인자를 통해 캐시 키의 일부가 됩니다.
Before:
app/page.js
import { cookies } from 'next/headers'
async function getExampleData() { "use cache" const isLoggedIn = (await cookies()).has('token') ... }
export default async function Page() { const data = await getExampleData() return ... }After:
app/page.js
import { cookies } from 'next/headers'
async function getExampleData(isLoggedIn) { "use cache" ... }
export default async function Page() { const isLoggedIn = (await cookies()).has('token') const data = await getExampleData(isLoggedIn) return ... }유용한 링크
섹션 제목: “유용한 링크”supported.
Send