Repolode
endograph

endograph/redux-persist

Библиотека в стиле Redux middleware, которая сохраняет состояние store в хранилище и восстанавливает его при запуске приложения.

Звёзды
12,950
Форки
839
Открытые issues
1
Последний коммит
14 дней назад

Что это?

redux-persist сохраняет состояние Redux store в хранилище по мере изменений и восстанавливает его при запуске, чтобы данные оставались доступны после перезагрузки страницы или повторного запуска приложения. Достаточно обернуть корневой reducer в persistReducer и создать persistor с помощью persistStore — остальная часть приложения не меняется, а для Redux Toolkit не нужна дополнительная настройка.

Хранилище можно выбирать. Для веба предусмотрена поддержка localStorage и sessionStorage, а AsyncStorage, IndexedDB, файловую систему и другие варианты можно подключить через storage engines. Разработчики выбирают, какие ключи верхнего уровня сохранять, с помощью allowlist и denylist; для более точного контроля можно вкладывать сохраняемые reducers друг в друга, а также преобразовывать состояние при сохранении и восстановлении.

Библиотека также работает с версиями состояния. Миграции обновляют сохранённые данные при изменении их структуры, а React-привязки включают PersistGate и useRehydrated, которые откладывают отрисовку до загрузки сохранённого состояния.

Ключевые возможности

  • 01Оборачивает корневой reducer в persistReducer и создаёт persistor с помощью persistStore.
  • 02Поддерживает localStorage и sessionStorage из коробки, а для других вариантов предлагает подключаемые storage engines.
  • 03Позволяет выбирать сохраняемые ключи с помощью allowlist и denylist или функции-фильтра.
  • 04Поддерживает вложенное сохранение, преобразования состояния и миграции между версиями.
  • 05Предоставляет PersistGate и useRehydrated для React, чтобы дождаться восстановления состояния.

Сценарии использования

  • Сохранение пользовательских настроек или состояния, связанного со входом в аккаунт, при перезагрузке браузера в React-приложении.
  • Сохранение состояния Redux в приложении на React Native с использованием AsyncStorage.
  • Сохранение состояния приложения для работы офлайн в PWA или настольном приложении с IndexedDB либо файловой системой.
  • Безопасное обновление сохранённого состояния при изменении структуры среза Redux между релизами.

Быстрый старт

  1. 1

    Установите пакет из npm

    npm install redux-persist
  2. 2

    В файле store оберните корневой reducer в persistReducer и создайте persistor с помощью persistStore

  3. 3

    Оберните корневой компонент в PersistGate из redux-persist/react (необязательно, для React)

Что важно знать

  • Для v7 требуется Redux Toolkit 2 или Redux 5.
  • Релиз v7 находится в бета-версии (установите его с тегом next).

Темы

Частые вопросы

Что такое redux-persist?
Библиотека в стиле Redux middleware, которая сохраняет состояние store в хранилище и восстанавливает его при запуске приложения. redux-persist сохраняет состояние Redux store в хранилище по мере изменений и восстанавливает его при запуске, чтобы данные оставались доступны после перезагрузки страницы или повторного запуска приложения. Достаточно обернуть корневой reducer в persistReducer и создать persistor с помощью persistStore — остальная часть приложения не меняется, а для Redux Toolkit не нужна дополнительная настройка.
redux-persist можно использовать бесплатно? Какая у него лицензия?
redux-persist распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
redux-persist всё ещё поддерживается?
Активно поддерживается. Последний коммит в redux-persist — 7 окт. 2026 г..
Для чего можно использовать redux-persist?
Сохранение пользовательских настроек или состояния, связанного со входом в аккаунт, при перезагрузке браузера в React-приложении. Сохранение состояния Redux в приложении на React Native с использованием AsyncStorage. Сохранение состояния приложения для работы офлайн в PWA или настольном приложении с IndexedDB либо файловой системой. Безопасное обновление сохранённого состояния при изменении структуры среза Redux между релизами.
Как установить redux-persist?
Установите пакет из npm: npm install redux-persist В файле store оберните корневой reducer в persistReducer и создайте persistor с помощью persistStore Оберните корневой компонент в PersistGate из redux-persist/react (необязательно, для React)
Где скачать redux-persist?
Исходный код и инструкции по установке — на GitHub: https://github.com/endograph/redux-persist

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты