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

순곰님의 프로필 이미지

작성한 질문수

처음 만난 리덕스(Redux)

(실습) redux-persist 연동하기

강사님 질문이 있어요

해결된 질문

23.09.13 15:43 작성

·

175

·

수정됨

1

serializableCheck: { 
                ignoredActions: [
                    REHYDRATE,
                    FLUSH,
                    PAUSE,
                    PERSIST,
                    PURGE,
                    REGISTER,
                ],
            },

강사님 마지막 실습 코드에서 질문드려요
여기 코드는 검색을 하니 직렬화,역질렬화 검사 할때 사용 하는거라는데 마지막 실습 코드에서는 어떻게 사용 되는 건가요? 어떤 연관성? 이 있는 건가요?

답변 1

0

Inje Lee (소플)님의 프로필 이미지
Inje Lee (소플)
지식공유자

2023. 09. 13. 16:08

안녕하세요, 소플입니다.

해당 Action들은 redux-persist에서 데이터를 저장하고 복원하기 위해서 내부적으로 사용하는 Action들 입니다.

기본적으로 Redux State 또는 Action에는 Serialize 가능한 데이터만을 넣어야 하는데,
그렇지 않은 경우를 방지하기 위해서 Serialize 가능한지 체크(serializableCheck)를 하게 됩니다.
https://redux.js.org/style-guide/#do-not-put-non-serializable-values-in-state-or-actions

이 때 redux-persist의 Action들에 대해서도 serializableCheck를 하게 되는데,
redux-persist의 Action에는 내부적으로 Non-Serializable value(예: 함수)가 포함되어 있습니다.

그래서 redux-toolkitredux-persist를 연동해서 정상적으로 사용하려면,
아래 공식 문서에 나와 있는 것처럼 redux-persist의 내부 Action들을 모두 serializableCheck하지 않도록 ignoredActions에 넣어주어야 하는 것입니다.

https://redux-toolkit.js.org/usage/usage-guide#use-with-redux-persist

 

참고로 아래 링크는 해당 이슈와 관련된 과거 GitHub 이슈들입니다.

관심있으시면 추가로 살펴보시면 이해하는데 더 도움이 될 것입니다😀

https://github.com/reduxjs/redux-toolkit/issues/121

https://github.com/rt2zz/redux-persist/issues/988#issuecomment-552242978

 

감사합니다.

순곰님의 프로필 이미지

작성한 질문수

질문하기