인프런 커뮤니티 질문&답변
getServerSideProps에서 질문드립니다.
작성
·
243
1
getServerSideProps에서 state.user.me가 없을때만 LOAD_USER_REQUEST 액션을 진행하고 싶은데요.
export const getServerSideProps = wrapper.getServerSideProps(
async(context) => {
const state = context.store.getState();
if(!state.user.me) {
context.store.dispatch({
type: LOAD_USER_REQUEST,
})
context.store.dispatch(END);
await context.store.sagaTask.toPromise();
}
}
});
이런식으로 조건문을 주어서 처리하고 싶은데 state가 항상 initialState 값이네요. 위의 코드 실행전에 LOAD_USER_REQUEST액션을 통해 me를 미리 채웠고 redux dev-tools에서도 me가 채워져 있는데 getState에서의 state.user.me는 왜 항상 null일까요..?ㅜ
답변 1
1
제로초(조현영)
지식공유자
getServerSideProps는 서버에서 실행됩니다. 서버에서 리덕스 스토어가 새로 생성된 후 실행되는 것이라 기존 클라이언트 스테이트에 접근할 수 없습니다.




