[Next.js] redux store hydrate 중복 저장 이슈
전체글 가져오는 페이지에서 중복이슈 발견
리덕스 로거를 보면, 액션에서는 분명
데이터가 data/GET_PUBLIC_TASKS
가 38개, data/GET_GOALS_BY_IDS
가 9개로 배열에 저장되어있다.
원하는 동작은 비어있는 initial store
에, 이 값을 저장하는 것 이었는데 prev state를 보니 이미 38개, 9개로 저장이 되어있었다.
그래서 같은 데이터가 2번 중복으로 들어가있는 이슈가 발생했다.
22줄에 rootReducer를 저장하고있는 코드를 보면
액션이 HYDRATE
인 경우에, 기존 state와 새로 들어온 incomingState를 deepmerge라이브러리를 통해 merge시킨다.
그런데 25줄에서 로그를 찍어보니 기존 state에 이미 원하는 값이 들어있었다. 그래서 결국 같은 값을 merge하고 있었던 것이다.
const rootReducer = (state = initialRootState, action: any) => {
if (action.type === HYDRATE) {
const incomingState = action.payload as RootState
const nextState: RootState = merge(state, incomingState)
return incomingState;
} else {
return combinedReducer(state, action);
}
};
Author And Source
이 문제에 관하여([Next.js] redux store hydrate 중복 저장 이슈), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@awesome-hong/Next.js-redux-store-hydrate-중복-저장-이슈저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)