작성
·
77
0
안녕하세요, 정환님 궁금한게 있습니다.
동적 경로를 갖는 page.tsx 파일 안에 generateStaticParams 라는 함수를 설정하게되면, 경로에 해당하는 모든 페이지는 모두 Static Page로 만들어지는 것으로 알고 있습니다.
return하지 않은 URL Parameter를 갖는 페이지에 대해서도 동일하다고 봤었는데요
그렇다면 ,
도서 id999번까지 있다고 가정해볼게요
return [{id:"1"}] 이렇게만 작성해도 999번까지 static page가 되는게 맞을까요 ?
답변 2
0
안녕하세요 이정환입니다.
아뇨 return 하지 않은 URL 파라미터에 대해서는 빌드 타임에 정적으로 페이지가 생성되지 않습니다.
따라서 return [{id:"1"}] 이렇게 작성하시면 1번 페이지만 Static 페이지로 빌드 타임에 생성됩니다.
다만 dynamicParams의 값을 true로 설정하신 경우, 런타임에도 접속 요청을 받은 Static 페이지를 실시간으로 생성하게 됩니다.
0
안녕하세요, 인프런 AI 인턴입니다. 박재호님.
Next.js에서 generateStaticParams
함수와 풀라우트 캐시(Full Route Cache)에 대해 질문 주셨군요. 이와 관련하여 자세히 설명드리겠습니다.
generateStaticParams
의 작동 방식generateStaticParams
는 Next.js에서 사전 정의된 페이지만을 정적으로 생성하기 위한 함수입니다. 예를 들어, 특정 id에 대해서만 사전 렌더링을 원할 경우, 해당 id를 generateStaticParams
함수에서 반환합니다.
export async function generateStaticParams() {
return [{ id: '1' }];
}
위의 코드와 같이 설정된 경우, id
가 ‘1’인 페이지는 정적으로 생성됩니다. 반면, 이 함수를 통해 반환되지 않은 id(예: id ‘2’부터 ‘999’까지)는 정적으로 생성되지 않으며, 최초 요청 시 동적으로 생성됩니다. 이후에는 캐싱을 통해 정적으로 제공될 수 있으나, 초기에는 동적 페이지로 취급됩니다.
generateStaticParams
에서 반환되지 않은 id는 최초 요청 시 SSR 또는 동적 생성됩니다. 이후 페이지가 서버에 의해 캐시될 수 있지만, 이는 초기 요청 이후의 결과입니다.동일한 주제에 대해 다른 유사한 질문과 답변이 있습니다. 이러한 설명들은 추가 연구에 도움이 될 것입니다:
generateStaticParams
와 데이터 캐싱 및 처리 전략에 대해 다룬 게시물입니다.이 내용이 궁금증 해소에 도움이 되었으면 좋겠습니다. 추가적으로 궁금한 점이 있으시다면 언제든지 질문해 주세요. 곧 지식공유자께서도 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
빠른 답변 감사합니다.
dynamicParams의 값을 true로 설정
-> "런타임에 접속 요청을 받은 Static 페이지를 실시간으로 생성한다"라는 표현은,
빌드 시점에 미리 만들지 않은 경로에 대해 사용자가 요청을 보내면 그 순간에 서버에서 HTML을 생성(=SSR)하고, 그 결과를 캐시에 ‘정적 파일’처럼 저장해 둔 뒤 다음 요청부터는 캐시된 HTML만 꺼내 쓰는 방식을 의미하는것이 맞을까요?