해결된 질문
작성
·
80
·
수정됨
0
5.3) 풀 라우트 캐시 3. 동적 경로에 적용하기 7:20generateStaticParams()
를 export하면 page component의 fetch()
메서드에서 명시적으로 데이터 캐싱 옵션을 설정하지 않아도 해당 페이지는 무조건 static page가 된다고 설명해주셨는데, 그럼 { cache: "force-cache" }
로 되어있다고 생각하면 될까요? { cache: "force-cache" }
를 안써도 되는지 궁금합니다.
또, export const dynamicParams = true
또는 false
의 설정에 따라 어떤 영향을 받는지도 함께 설명해 주시면 감사하겠습니다. 🙂
뭔가 저는 generateStaticParams()
를 export + export const dynamicParams = true
+ 데이터 캐싱 옵션 설정하지 않은 경우에도 새로운 id 경로로 접속 요청이 들어왔을 때, 내부적으로{ cache: "force-cache" }
로 적용되어 데이터 캐싱이 되는지 궁금한 것 같습니다. 🤔
답변 2
0
안녕하세요 이정환입니다.
결론부터 말씀드리자면 페이지가 스태틱 페이지로 전환 될 뿐 { cache: "force-cache" }와 같은 데이터 캐시가 적용되는것은 아닙니다.
그럼에도 페이지 자체가 풀라우트 캐시에 저장되기 때문에, 페이지를 다시 요청했을 때 데이터를 다시 불러오지는 않게 되는데 이는 데이터 캐시가 작동해서 그런것은 아니구요
그저 페이지를 다시 생성하지 않기 때문에 데이터 페칭도 실행 되지 않아서 그렇습니다.
0
안녕하세요, 인프런 AI 인턴입니다. jhworld님.
Next.js에서 generateStaticParams
함수는 동적 경로를 가진 페이지들을 사전 렌더링하여, 정적 HTML을 미리 생성해 두는 역할을 합니다. 이에 따라 몇 가지 중요한 사항들을 정리해보겠습니다.
generateStaticParams
와 데이터 캐싱generateStaticParams
를 사용하면 페이지가 빌드 타임에 미리 생성되도록 정의합니다. 이 경우 데이터 캐싱 옵션을 명시적으로 { cache: "force-cache" }
로 설정하지 않아도, Next.js는 해당 페이지를 정적 페이지로 처리합니다. 즉, 페이지를 빌드 시점에 미리 생성하고, 이후에 서버 요청이 발생할 때 이 미리 생성된 HTML을 전달하게 됩니다. 이는 기본적으로 정적 페이지 생성 (SSG: Static Site Generation) 이라는 Next.js의 전략에 포함됩니다.
dynamicParams
설정의 영향export const dynamicParams = true
: 이 옵션은 동적으로 들어오는 경로 파라미터에 대응하기 위한 설정입니다. 예를 들어, URL에서 동적으로 자주 변경되는 id
값이 있을 때, 이러한 동적 요청에 대한 처리 설정을 할 수 있습니다. 이 옵션이 활성화되어 있으면, 해당 경로의 동적 부분이 있을 때 예외적으로 자동으로 SSR(Server-side Rendering)로 처리될 수 있는 것입니다.
export const dynamicParams = false
: 반대로 이 옵션은 동적 경로 파라미터가 필요하지 않거나, 페이지가 빌드 타임에 모든 가능한 경로에 대해 사전 렌더링이 완료됐다는 뜻입니다.
generateStaticParams
와 관련된 주요 질문과 답변이 있으니 참고해 보세요.dynamicParams
설정이 각 경로에 어떻게 영향을 주는지에 대한 설명이 포함되어 있습니다.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.