Към съдържанието

Малко, независимо от зависимости, реактивно хранилище за данни и механизъм за синхронизация за приложения на JavaScript. Осигурява детайлни абонаменти, така че потребителският интерфейс да се рендерира повторно само при промяна на съответните данни, което поддържа приложенията бързи и предвидими.

Данните могат да бъдат моделирани като прости двойки ключ-стойност или като таблични структури с редове и клетки. Вградените възможности включват схеми със стойности по подразбиране и извеждане на типове, индекси за бързи търсения, метрики за агрегиране, връзки между таблици, система от контролни точки за отмяна/повторение и машина за заявки, близка до SQL (TinyQL), за реактивно избиране, свързване, филтриране и групиране.

Създадено за работни процеси с приоритет към локалната среда и работа офлайн, то предлага вградена поддръжка на CRDT чрез MergeableStore за синхронизиране и детерминистично обединяване на данни между клиенти и сървъри. Данните могат да се запазват в хранилището на браузъра и IndexedDB, както и в бази данни като SQLite и PostgreSQL, с интеграции за Yjs и Automerge.

Незадължителните React обвързвания включват хукове и леки UI компоненти за изграждане на напълно реактивни интерфейси, както и вграден в приложението Inspector за преглед и редактиране на данни в хранилището в реално време по време на разработка. Въпреки широките си възможности, ядрото остава малко (около 5.3kB–11.7kB в gzip формат), напълно документирано и щателно тествано.

Функции

  • Реактивно хранилище за данни в паметта
  • Модели за данни ключ-стойност и таблични модели
  • Детайлни слушатели и абонаменти
  • Машина за заявки TinyQL (избиране/свързване/филтриране/групиране)
  • Индекси за бързи търсения
  • Метрики и агрегиране
  • Връзки между таблици
  • Схеми със стойности по подразбиране и извеждане на типове
  • Контролни точки с отмяна/повторение
  • Вграден CRDT MergeableStore
  • Синхронизация чрез WebSockets, BroadcastChannel и персонализирани преноси
  • Запазване в хранилището на браузъра и IndexedDB
  • Запазване в бази данни SQLite и PostgreSQL (и варианти като Bun/Expo SQLite)
  • Интеграции с Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Незадължителни React хукове и готови компоненти (ui-react, ui-react-dom)
  • Инструмент за разработка Inspector за данни в приложението
  • Дизайн с приоритет към локалната среда и удобство при работа офлайн
  • Малък пакет без зависимости
  • 100% покритие на тестовете и подробна документация

Свързани елементи

Legend State

Тази мощна библиотека улеснява управлението на състоянието в приложенията ви и прави работата със сложни данни лесна.

MobX

Това решение за управление на състоянието осигурява безпроблемно интегриране на динамични данни във вашите приложения и лесно се адаптира към промените.

Redux Toolkit

Пълен набор от инструменти за оптимизиране и подобряване на разработката с Redux, така че приложенията да са предвидими и лесни за поддръжка.

valtio

Тази библиотека опростява управлението на състоянието чрез proxy за съвременни приложения и подобрява работата на разработчиците с ефективно визуализиране и лесна промяна на състоянието.

TanStack DB

Реактивно клиентско хранилище с актуални заявки и оптимистични мутации за последователни интерфейси с подмилисекундна скорост и синхронизация в реално време.

Jotai

Мощно, но леко решение за управление на състоянието, което използва атомарен подход в приложенията с React.

MobX-State-Tree

Библиотека с широк набор от функции, която опростява управлението на състоянието чрез структуриран подход към обработката на променливо състояние.

TanStack Router

Модерна и мащабируема библиотека за маршрутизиране, създадена специално за React, с акцент върху типовата безопасност и ефективното управление на данни.