Next로 넘어가는 이유가 많겠지만,
SSR과 Routing, webpack의 편리성을 주로 생각한다.
Next로 넘어와서 고생한 작업이 이 State 관리를 위해 넣은
Redux 이다.
정확하게 해결한지는 모르겠지만, 처음에 React에서 쓰던 것처럼
Redux를 생각하고 사용하였더니 라우팅을 걸쳐 다른 페이지로 이동하니
State들이 다시 만들어져 초기화가 되는 게 아닌가?
wrapper를 이용하여, store에 접근을 해봤지만, 당연히
클라이언트쪽에서는 새로운 state를 생성하고 있었다.
공식문서도 읽고 구글링도 해봤는데, 결론은 getInitalProps로 해결하자는 것 이었다.
getInitalProps는 검색해보면 알겠지만, 우리 앱의 진입점에서 필요한 state들을 미리 받아
저장해놓는 것이다. ( lifecycle 참조 )
- 앱 진입 시점에서는 우리의 _app.tsx를 거치니까 거기서 initialState를
우리가 원하는 정보로 채워 넣는다 생각하면 편하다.
물론 getInitalProps을 이용하면 퍼포먼스 저하라는 단점을 안고 가야한다.
공식문서에서도, 이런 문제들을 이야기하는데, 보통 다른 예제에서
왜 getState라는 함수를 안쓰고, dispatch만 쓰는지 이해가된다.
이 글을 본다면 여러가지 이유로 state를 redux로 유지하려고 한다는 건데,
만약 auth의 쿠키쪽 문제라면, 공식문서에 cookie 관련 package recommend 가 있으니,
그 패키지를 이용해 보는게 좋을 것같다.
'FrontEnd > Next.js' 카테고리의 다른 글
typescript 를 적용한뒤 getServerSideProps 에서 type error가 나는 경우 (0) | 2021.10.29 |
---|---|
nodebird 청강을 마무리 하며 (0) | 2021.10.21 |
빌드시 필요한 env 활성화 하기 ( cross-env ) (0) | 2021.10.19 |
Next.js cookie 공유 문제 (0) | 2021.10.19 |
Next.js 에서 Antd 를 이용 할때 uselayouteffect warning이 뜰 경우 (0) | 2021.10.08 |