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

Jin님의 프로필 이미지
Jin

작성한 질문수

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

SSR시 쿠키 공유하기

SSR이 한번만 작동합니다.

작성

·

297

1

SSR이 처음 한번만 잘 작동합니다. 로그인 하고 새로고침을 해도 한번까지는 정상적으로 서버에서 request-> success까지 마치는데 이후에는 이번 강의에서 rootReducer의 HYDRATE부분을 수정하기 전과 같이 request단계까지만 진행되고 success는 완료되지가 않습니다.

그래서 새로고침을 하면 빈 로그인창만 나와있고 mainPost들도 비어있습니다. 쿠키를 지우고 다시해봐도 같은 결과가 나오고, 프론트 서버를 다시 시작하면 또 한번까지는 정상적으로 되고 이후는 동일합니다. 로그인을 하지 않고 새로고침을 해도 결과는 같습니다. 

그런데 또 웃긴건, 몇 분 후에 계속 새로고침을 하다 보면 한번은 또 정상적으로 동작을 하고 이후에는 안 되는 경우가 나타납니다.

일단 저는 reduxjs-toolkit을 사용하고 있어서 rootReducer 부분이 조금 다르긴 한데, 이것때문에 HYDRATE 부분에서 뭔가 잘못 동작을 하고 있는건지 아니면 다른데 문제가 있는건지 모르겠네요. 

답변 3

2

Jin님의 프로필 이미지
Jin
질문자

해결 되었습니다.  

const sagaMiddleWare = createSagaMiddleWare();

위 코드가 

const configureStore = context => { ........}

코드 위에서 선언 되었는데. configureStore안으로 옮겨주니까 해결이 되네요.

이거 해결하려고 반나절이 걸렸는데, 허무한 결말이네요...

1

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

rootReducer부분에서 createReducer를 어떻게 하셨나요? HYDRATE 액션은 가장 상위에 위치해야 하며 HYDRATE의 payload는 전체 state여야 합니다. 여기가 전체 state와 다르면 추후 CSR 시 문제가 됩니다.

createReducer와 HYDRATE 시의 payload 보여주시면 좋을 것 같습니다.

0

같은 문제로 헤매고 있었는데 덕분해 해결했습니다.

고맙습니다!

Jin님의 프로필 이미지
Jin

작성한 질문수

질문하기