✍️ 처음에 HYDRATE 라는 개념을 몰랐어서, 어디서부터 잘 못 됬는지도 모르겠고, 막막했었는데 “단서” 의 포스팅을 만나 실마리를 얻을 수 있었다. 글쓴이에게 감사한다. 🙏
import { LOAD_MAIN_POSTS_REQUEST } from '../reducers/post';
import wrapper from '../store/configureStore';
import { END } from "redux-saga";
....
export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req, res, ...etc }) => {
store.dispatch({
type: LOAD_MAIN_POSTS_REQUEST
});
store.dispatch(END);
await store.sagaTask.toPromise();
});
▶️ getServerSideProps 는 제대로 실행 되었음을 확인.
const rootReducer = (state, action) => {
switch (action.type) {
case HYDRATE:
console.log('HYDRATE', action);
return action.payload;
default: {
const combinedReducer = combineReducers({
user,
post,
});
return combinedReducer(state, action);
}
}
};