ISR은 Next.js의 정적 사이트 생성(SSG)의 한계를 극복하기 위해 도입된 개념으로, 특정 페이지를 정적 페이지처럼 빠르게 제공하면서도 일정 주기로 새롭게 갱신할 수 있는 기능을 제공한다.
ISR은 getStaticProps에서 revalidate 옵션을 설정하면 사용할 수 있다.
revalidate: 10 → 10초 후) 백그라운드에서 새로운 데이터를 가져와 정적 페이지를 갱신export async function getStaticProps() {
const res = await fetch("<https://api.example.com/data>");
const data = await res.json();
return {
props: { data },
revalidate: 10, // 10초마다 페이지를 갱신
};
}
// 10초 마다 페이지가 백그라운드에서 재생성된다.
Next.js 14에서 ISR(Incremental Static Regeneration)의 사용 방식은 Next.js 13과 거의 동일하지만, 일부 설정 방식이 개선되었다.
revalidate 설정 방식
getStaticProps에서 revalidate 옵션을 사용하여 ISR을 활성화한다.차이점
app/ 디렉터리)에서도 fetch의 { next: { revalidate: X } } 옵션을 활용하여 ISR을 구현할 수 있다.