Skip to content

useNavermaps() 에러 질문합니다. #106

Answered by zeakd
GyeongChan-Jang asked this question in Q&A
Discussion options

You must be logged in to vote

@GyeongChan-Jang 안녕하세요!

"네이버 지도 API"는 이미지를 불러오고 client에서 실행해야하기 때문에 본질적으로 SSR 이 불가능합니다. 그래서 NaverMap, useNavermaps 등은 SSR에서 처리할 수 있는 역할이 없습니다.

Serverside에서 터지지는 않도록 서버에서 throw 하는 대신 ErrorBoundary 혹은 window를 체크하여 조용히 아무일도 하지않도록 처리를 생각해 볼 수 있지만 이 경우 library 내에서 코드 일관성이 너무 떨어지게 되고, clientside 에서만 동작해야하는 코드를 serverside 에서도 적용하므로서 잘못된 코드스타일을 작성하게 되거나 잘못된 부분을 찾기 어려워진다고 생각됩니다.

그래서 Serverside에서 조용히 죽는대신 잘못 작성된 코드가 올바르게 에러를 보여주도록 처리하고 있습니다. 위 보여주신 예시에서도 useNavermaps() 는 window.naver.maps 를 가져오는 행동이기 때문에 오히려 서버에서 실행되면 안되는 부분이고, 이런 코드가 SSR 가능한 다른 라이브러리의 컴포넌트등과 섞이게 된다면 일관성이 떨어지고 디버깅에도 어려움이 생기게 됩니다.

naver maps 에서 유일하게 SSR 환경에서의 동작을 신경써야하는 부분은 Container 인데요. Container는 client side 에서 새로 그려지는 것이 아니라 SSR…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@zeakd
Comment options

Answer selected by GyeongChan-Jang
@GyeongChan-Jang
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants