-
카테고리
-
세부 분야
풀스택
-
해결 여부
해결됨
next.js에서 swr 서버사이드 렌더링 질문드립니다.
21.07.08 22:54 작성 조회수 358
0
next.js에 swr, typescript를 이용해 노드버드 실습을 해보다가 서버사이드 렌더링에 대해 궁금한 게 생겼습니다.
사용자가 만약 로그인을 한 상태일 때, 서버사이드 렌더링을 해서 컴포넌트에 사용자 정보를 넣어준 상태로 페이지가 보여지도록 하고 싶은데요.
강의에서는 pages/index.js에서 리덕스를 이용하여 LOAD_MY_REQUEST 액션을 dispatch 한 뒤, components/AppLayout.js 에서 useSelector로 me 값을 가져 오면 사용자 정보가 담겨진 채로 AppLayout.js 컴포넌트가 랜더링 됩니다.
swr을 적용해서 동일하게 구현해보려고 하는데요.
swr에서는 page/index.js에서 서버사이드에서 로그인한 사용자 정보롤 가지고 오더라도, components/AppLayout.js에서 useSWR을 사용하면 처음 [로그아웃] 상태일 때의 화면이 잠깐 나오고, [로그인]상태일 때의 모습으로 변합니다.
혹시 swr을 이용해서 pages/index.js에서 서버사이드 렌더링으로 가지고 왔던 값을 components/AppLayout.js에도 페이지 렌더링 초기에 값을 함께 전달해주는 방법은 없을까요?
제가swr을 이용해 아래처럼 적용해봤는데, 다른 방법이 있을까요?
pages/index.tsx
components/AppLayout.tsx
답변을 작성해보세요.
0
호머
질문자2021.07.08
빠른 답변 너무 감사합니다!
swr은 리덕스처럼 서버사이드 렌더링 시 컴포넌트에서 스토어의 값을 가져오는 게 안 되고, props로 전달해주는 방법밖엔 없을까요? ㅠ_ㅠ
조현영
지식공유자2021.07.08
스토어를 쓰지 않으려고 SWR을 하는 것이라 방법이 딱히 있을 것 같진 않습니다. 아니면 간단히 context api 붙여도 될 것 같긴 하네요.
호머
질문자2021.07.08
네! 감사합니다! 구글링을 열심히 해봤는데도 답이 안 나와서 며칠동안 머리만 싸매고 있었는데...
눈이 번쩍 뜨이는 거 같네요.
너무너무 감사합니다!
답변 1