인프런 커뮤니티 질문&답변

rogguh님의 프로필 이미지

작성한 질문수

한 입 크기로 잘라먹는 Next.js(15+)

2.18) ISR 2. 주문형 재 검증

On-Demand ISR 관련 질문

해결된 질문

24.08.25 20:16 작성

·

134

0

On-Demand ISR 사전 렌더링 방식을 보면서 현재 대부분의 SSR로 구현 되어 있는 어플리케이션을 좀 더 최적화 할 수 있겠다는 생각을 했습니다!

여기서 질문은 API Router를 생성해서 revalidate할 경로를 작성해서 해당 경로의 페이지를 On-Demand ISR 처리되도록 구현해주셨는데요..! 실제로 비지니스 로직을 작성할 때는 많은 페이지들이 존재하는데, 이럴때는 API Router에서 "/" 인덱스 페이지 경로를 하드코딩한 부분을 동적으로 받을 수 있게 처리해서 백엔드 서버와 통신 시, 정상응답을 받았을 때, 해당 API Router를 호출하게 하면 되는걸까요..?!

추가로, 페이징 기능 같은 페이지가 있는 경우에는 어떤식으로 On-Demand ISR을 적용하는지도 궁금합니다..!!
바쁘시겠지만 답변 해주시면 감사하겠습니다 😀

 

🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨

질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)
- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)
- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)

질문 하실때 꼭 확인하세요
- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)
- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)
- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)
- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요

- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 08. 26. 15:28

안녕하세요 이정환입니다.

넵! 페이지의 개수가 많아지면 그렇게 동적으로 처리해주시면 됩니다. 다만 이때 여담으로! 서버의 리소스를 낭비시키기 위한 악의적인 목적으로 다수의 revalidate API를 호출하는 경우가 발생할 수도 있는데요 이를 방지하기 위해 별도의 Secret Key를 사용하시는 것 또한 고려해볼 수 있겠습니다.

추가로 페이지네이션이 존재하는 페이지의 경우 어떻게 On-Demand ISR을 적용할 수 있을지 질문 주셨는데요 음 .. 결론부터 말씀드리면 불가능하지는 않겠지만 그리 권장할 만한 사항도 아닌것 같습니다.

이유는 간단한데요 우선 페이지네이션은 보통 Client State나 Query String으로 보관하기 때문에 빌드 타임에 정적으로 이 값들을 알 수 없어 애초에 정적 페이지로 구성하는 것 자체가 어렵습니다. 그럼에도 만약! 페이지 Offest을 URL Parameter로 관리한다고 하면 가능은 할 텐데요... 굳이 그렇게 할 이유까지는 없는 것 같습니다. 실시간으로 변화하는 게시글들을 보여주기 어려운 구성일 것 같습니다. 더군다나 댓글이나 조회수까지 들어간다면 더더욱 어려울 것 같아요

따라서 보통은 페이징을 State를 통해 처리하여 게시글 데이터만 변경한다거나 혹은 Query String을 이용하는게 일반적일 것 같습니다.

rogguh님의 프로필 이미지
rogguh
질문자

2024. 08. 26. 15:36

답변감사합니다..!! 좀 더 고민해보고 적절하게 On-Demand ISR 렌더링으로 최적화 하도록 하겠습니다 😃

rogguh님의 프로필 이미지

작성한 질문수

질문하기