Десктопный отладчик для React и React Native: позволяет изучать состояние приложений, сетевые запросы, логи и ошибки.
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
Установите пакет из npm
npm install redux-persist - 2
В файле store оберните корневой reducer в persistReducer и создайте persistor с помощью persistStore
- 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 обновляется ежедневно.
Похожие проекты
JavaScript-библиотека для предсказуемого и удобного в поддержке управления глобальным состоянием в React и других библиотеках представления.
Небольшая библиотека управления состоянием для React на основе хуков, которой не нужны провайдеры.
Библиотека JavaScript для обновления неизменяемого состояния через мутацию черновой копии текущего состояния.
Официальная библиотека для связи Redux с React: подключает хранилища Redux к компонентам React с помощью хуков и Provider.
Библиотека TypeScript для создания мемоизированных селекторов, вычисляющих производные данные на основе Redux или другого обычного состояния JavaScript.