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

sy u님의 프로필 이미지

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

moment와 next 빌드하기

페이지를 이동할 때 매번 next_redux_wrapper_hydrate가 매번 실행되는게 맞는건가요?

20.09.10 18:42 작성

·

325

2

매번 페이지를 이동할 때 마다 hydrate되면서 초기에 설정한 reducer값들로 다 바뀌어요. context.store.dispatch(유저정보)로 유저정보를 가져오니까 유저정보는 바뀌지 않더라고요. 이게 맞는건가요? 이러면 굳이 store로 전체 상태를 관리할 필요가 있을까요? 매번 사용자의 요청이 있을 때 swr이든 ssr이든 데이터를 가져와서 보여주기만 하면 될 것 같아서요.. 

답변 1

2

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

2020. 09. 11. 14:20

네 맞습니다. getServerSideProps를 쓸 때 각 페이지는 SSR되므로 hydrate가 필요합니다. 이 부분이 어떻게 보면 getServerSideProps의 단점입니다.

예전 getInitialProps를 쓸 때는 첫 페이지 로딩만 SSR되고 그 다음부터는 CSR 되기는 했습니다. 만약 이런 기능을 원하신다면 getInitialProps를 쓰는 게 맞습니다.

지금은 서버사이드만 할 때는 getServerSideProps로, 클라이언트 사이드만 할 때는 SWR로 나뉘어졌습니다. 그렇다고 getInitialProps가 없어진 것은 아닙니다.

https://github.com/vercel/next.js/discussions/10930

여기서도 활발한 논쟁이 일어나고 있는데, 공식문서에서는 getinitialProps 대신 getServerSideProps를 권장한다고 되어있는데 실제로는 조금 잘못된 설명이 아닌가 싶습니다.

sy u님의 프로필 이미지

작성한 질문수

질문하기