Об этом проекте

Zustand — это легковесное решение для управления состоянием в React-приложениях. Оно использует hook-based API, которое позволяет избежать шаблонного кода, часто связанного с библиотеками вроде Redux. Основная концепция заключается в создании хранилища через функцию create, которая возвращает пользовательский React-хук. Состояние может содержать примитивы, объекты или функции, а обновления должны выполняться неизменяемо через функцию set. Компоненты потребляют состояние, выбирая срезы хранилища, и перерисовываются только тогда, когда эти выбранные значения изменяются благодаря проверкам строгого равенства. Ключевые особенности: - Не требуются провайдер-обёртки вокруг приложения - Встроенная поддержка middleware, таких как persist для хранения, immer для обновлений, похожих на изменяемые, и devtools для отладки - Доступен vanilla store режим для Non-React вариантов использования через zustand/vanilla - Функция subscribe обеспечивает не реактивный доступ к состоянию и слушателям - Хелпер useShallow предотвращает избыточные перерисовки при выборе нескольких срезов состояния - Можно предоставлять пользовательские функции сравнения для тонкого контроля над обновлениями компонентов Библиотека решает типичные проблемы управления состоянием в React, такие как устаревшие пропсы в сценариях zombie child, проблемы конкурентности React и потеря контекста между смешанными рендерерами. Она спроектирована как unopinionated, но при этом предлагает прагматичные паттерны для организации кода через slices.