처음 만난 리덕스 (Redux) 문서


13.10 13강 요약

  • Persist (Persistence)

    • 상태를 저장 장치에 저장함으로써, 상태를 만든 프로세스보다 더 오래 지속되는 특성
    • 프로세스가 재시작되어도 다시 상태를 복원 가능
  • redux-persist

    • Persist and rehydrate a redux store
    • Redux Store의 데이터를 유지시키고 다시 복원해주는 역할
    • Redux Store에 Persistence를 제공하기 위한 라이브러리
  • Storage 종류

    • Web Storage API
      • Local Storage
        • 접속한 각 도메인 + 프로토콜에 대해서 각기 다른 Storage객체를 리턴
        • 데이터가 만료되지 않음
      • Session Storage
        • 접속한 각 도메인 + 프로토콜 + 세션에 대해서 각기 다른 Storage객체를 리턴
        • 데이터가 세션 종료 시 만료됨
    • redux-persist와 Storage
      • 다양한 Storage Engine을 제공
  • 데이터의 저장 및 복원 과정

    • 데이터 저장 과정 (Persist)
      • Serialize (직렬화)
        • Storage에 저장할 수 있는 문자열로 변환하는 과정 (ex. JSON.stringify())
    • 데이터 복원 과정 (Hydrate)
      • 비어 있는 Redux Store에 데이터를 공급해서 꽉 채운다는 의미
      • Deserialize (역직렬화)
        • Serialize 시킨 데이터를, 다시 원래의 형태로 복원하는 과정 (ex. JSON.parse())
    • Transform
      • redux-persist에서 데이터를 Serialize, Deserialize 해주는 플러그인
  • redux-persist 사용 방법

    1. Storage Engine 선택하기
      • 웹에서는 localStorage 또는 sessionStorage 사용
    2. persistConfig 객체 만들기
      • redux-persist 설정 객체이며, 다양한 옵션들을 제공
    3. Redux Store에 persistedReducer 연동
    4. PersistGate 컴포넌트로 최상위 컴포넌트 감싸주기

마지막 업데이트: 2023년 07월 14일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.