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

전상원님의 프로필 이미지

작성한 질문수

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

5.2) 풀 라우트 캐시 2

5.2) 빌드 시 searchbar 컴포넌트 에러 관련 질문

해결된 질문

24.09.03 12:40 작성

·

65

·

수정됨

0

강의에서 처음 build 할 때 searchbar 컴포넌트에서 suspense 에러가 나타나는데, 이 때 suspense를 하고 다시 build를 하면 인덱스 페이지는 dynamic page로 빌드 됩니다.

dynamic page는 빌드 타임에서 생성하지 않는 것으로 전 강의에서 이해했습니다.

그런데 왜 빌드 타임에서 생성하지 않는 인덱스 페이지에서(dynamic) useSearchParams() 를 실행하는데 에러가 나타나는 건지 잘 모르겠습니다.

 

질문 드립니다

답변 1

1

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

2024. 09. 03. 18:12

안녕하세요 이정환입니다. 상원님 엄청 예리하시네요 👀 ..!

우선 상원님의 말씀처럼 Dynamic Page는 빌드타임에 생성되지 않습니다. 어딘가에 저장되지도 않죠

그러나 다이나믹 페이지라고 해도 넥스트앱의 잠재적인 오류를 파악하기 위해 넥스트측에서 빌드시에 렌더링을 시도해본다고 합니다. 이때 Suspense로 감싸져 있지 않은 문제를 찾게 되면 일단 오류를 내뿜게 된다고 합니다.

전상원님의 프로필 이미지
전상원
질문자

2024. 09. 05. 12:42

모든 Dynamic page가 빌드시에 서버에서 페이지는 생성하지 않지만 렌더링은 하기 때문에,

동적 함수를 사용하는 Client 컴포넌트를 사용할 때 Suspense 컴포넌트처럼 서버에서 렌더링을 하지 않도록 처리 해야 하는 것으로 이해했습니다.

 

이해되지 않았는데, 해결되었습니다.

답변 감사합니다.

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

2024. 09. 05. 12:45

넵 "검사 단계에서 문제가 발생하게 된다" 정도로 이해해주시면 좋을 것 같습니다.

저도 사실 그닥 공감되는 동작방식은 아니긴 하네요 ... 좀 더 찾아보고 자세히 알게되면 다시 답변 드릴게요!