Repolode
endograph

endograph/redux-persist

앱 시작 시 저장소에서 상태를 복원하고, Redux 스토어 상태를 저장하는 미들웨어 스타일 라이브러리입니다.

스타
12,950
포크
839
열린 이슈
1
마지막 커밋
14일 전

어떤 프로젝트인가요?

redux-persist는 Redux 스토어의 상태가 바뀔 때마다 저장소에 저장하고, 앱 시작 시 스토어에 다시 불러와 페이지를 새로고침하거나 앱을 다시 실행해도 데이터가 유지되도록 합니다. 루트 리듀서를 persistReducer로 감싸고 persistStore로 persistor를 만들면 됩니다. 나머지 앱 코드는 그대로 사용할 수 있으며, Redux Toolkit도 별도 설정 없이 동작합니다.

저장소는 필요에 따라 선택할 수 있습니다. 웹용 localStorage와 sessionStorage가 포함되어 있고, storage engine을 통해 AsyncStorage, IndexedDB, 파일 시스템을 비롯한 다른 백엔드도 사용할 수 있습니다. allowlist와 denylist로 저장할 최상위 키를 선택하고, 세밀하게 제어하려면 리듀서를 중첩해 영속화할 수 있으며, 상태를 저장하거나 불러오는 과정에서 변환할 수도 있습니다.

버전이 있는 상태도 처리합니다. 데이터 구조가 바뀌면 마이그레이션으로 저장된 데이터를 업그레이드할 수 있으며, React 바인딩에는 저장된 상태가 로드될 때까지 렌더링을 지연하는 PersistGate와 useRehydrated가 포함되어 있습니다.

핵심 기능

  • 01루트 리듀서를 persistReducer로 감싸고 persistStore로 persistor를 생성합니다.
  • 02localStorage와 sessionStorage를 기본 지원하며, 다른 백엔드용으로 교체 가능한 storage engine을 제공합니다.
  • 03allowlist와 denylist 또는 필터 함수로 저장할 키를 선택할 수 있습니다.
  • 04중첩 영속화, 상태 변환, 버전 기반 마이그레이션을 지원합니다.
  • 05React에서 상태가 복원될 때까지 기다릴 수 있도록 PersistGate와 useRehydrated를 제공합니다.

활용 사례

  • React 앱에서 사용자 환경 설정이나 로그인 관련 상태를 브라우저 새로고침 후에도 유지합니다.
  • AsyncStorage를 사용하는 React Native 앱에서 Redux 상태를 영속화합니다.
  • IndexedDB 또는 파일 시스템을 사용하는 PWA나 데스크톱 앱에서 오프라인 상태를 저장합니다.
  • 릴리스 간에 Redux 슬라이스의 데이터 구조가 바뀌어도 저장된 상태를 안전하게 업그레이드합니다.

빠른 시작

  1. 1

    npm에서 패키지를 설치합니다

    npm install redux-persist
  2. 2

    스토어 파일에서 루트 리듀서를 persistReducer로 감싸고 persistStore로 persistor를 생성합니다

  3. 3

    루트 컴포넌트를 redux-persist/react의 PersistGate로 감쌉니다(선택 사항, React 사용 시)

사용 전 알아둘 점

  • v7에는 Redux Toolkit 2 또는 Redux 5가 필요합니다.
  • v7 릴리스는 베타 버전입니다(next 태그를 사용해 설치하세요).

토픽

자주 묻는 질문

redux-persist은(는) 무엇인가요?
앱 시작 시 저장소에서 상태를 복원하고, Redux 스토어 상태를 저장하는 미들웨어 스타일 라이브러리입니다. redux-persist는 Redux 스토어의 상태가 바뀔 때마다 저장소에 저장하고, 앱 시작 시 스토어에 다시 불러와 페이지를 새로고침하거나 앱을 다시 실행해도 데이터가 유지되도록 합니다. 루트 리듀서를 persistReducer로 감싸고 persistStore로 persistor를 만들면 됩니다. 나머지 앱 코드는 그대로 사용할 수 있으며, Redux Toolkit도 별도 설정 없이 동작합니다.
redux-persist은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
redux-persist은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
redux-persist은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. redux-persist의 마지막 커밋은 2026년 10월 7일입니다.
redux-persist은(는) 어디에 사용할 수 있나요?
React 앱에서 사용자 환경 설정이나 로그인 관련 상태를 브라우저 새로고침 후에도 유지합니다. AsyncStorage를 사용하는 React Native 앱에서 Redux 상태를 영속화합니다. IndexedDB 또는 파일 시스템을 사용하는 PWA나 데스크톱 앱에서 오프라인 상태를 저장합니다. 릴리스 간에 Redux 슬라이스의 데이터 구조가 바뀌어도 저장된 상태를 안전하게 업그레이드합니다.
redux-persist는 어떻게 설치하나요?
npm에서 패키지를 설치합니다: npm install redux-persist 스토어 파일에서 루트 리듀서를 persistReducer로 감싸고 persistStore로 persistor를 생성합니다 루트 컴포넌트를 redux-persist/react의 PersistGate로 감쌉니다(선택 사항, React 사용 시)
redux-persist은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/endograph/redux-persist

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트