Přejít k obsahu

Malé reaktivní úložiště dat a synchronizační engine pro aplikace v JavaScriptu bez závislostí. Nabízí podrobné odběry, takže se uživatelská rozhraní znovu vykreslují jen při změně relevantních dat a aplikace zůstávají rychlé a předvídatelné.

Data lze modelovat jako jednoduché páry klíč-hodnota nebo jako tabulkové struktury s řádky a buňkami. Vestavěné funkce zahrnují schémata s výchozími hodnotami a odvozováním typů, indexy pro rychlé vyhledávání, metriky pro agregace, vztahy mezi tabulkami, systém kontrolních bodů pro vrácení a opakování změn a dotazovací engine podobný SQL (TinyQL) pro reaktivní výběr, spojování, filtrování a seskupování.

Je navržen pro pracovní postupy s lokální prioritou a offline režimem a nabízí nativní podporu CRDT prostřednictvím MergeableStore, která umožňuje synchronizovat a deterministicky slučovat data mezi klienty a servery. Data lze ukládat do úložiště prohlížeče a IndexedDB i do databází, jako jsou SQLite a PostgreSQL, a k dispozici jsou také integrace s Yjs a Automerge.

Volitelné vazby pro React zahrnují hooky a odlehčené komponenty uživatelského rozhraní pro tvorbu plně reaktivních rozhraní. Součástí je také Inspector, který umožňuje během vývoje zobrazovat a upravovat data úložiště přímo v aplikaci. Navzdory široké nabídce funkcí zůstává jádro malé (přibližně 5.3kB–11.7kB po kompresi gzip), je plně zdokumentované a důkladně testované.

Funkce

  • Reaktivní úložiště dat v paměti
  • Modely dat typu klíč-hodnota a tabulkové modely
  • Podrobní posluchači a odběry
  • Dotazovací engine TinyQL (výběr/spojení/filtrování/seskupení)
  • Indexy pro rychlé vyhledávání
  • Metriky a agregace
  • Vztahy mezi tabulkami
  • Schémata s výchozími hodnotami a odvozováním typů
  • Kontrolní body s možností vrácení a opakování změn
  • Nativní CRDT MergeableStore
  • Synchronizace přes WebSockets, BroadcastChannel a vlastní přenosové kanály
  • Ukládání do úložiště prohlížeče a IndexedDB
  • Ukládání dat v databázích SQLite a PostgreSQL (a variantách, jako jsou Bun/Expo SQLite)
  • Integrace s Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Volitelné hooky React a předpřipravené komponenty (ui-react, ui-react-dom)
  • Inspektor dat přímo v aplikaci pro vývojáře
  • Návrh s lokální prioritou a podporou offline režimu
  • Malá velikost balíčku a žádné závislosti
  • 100% pokrytí testy a rozsáhlá dokumentace

Související položky

Legend State

Tato výkonná knihovna zjednodušuje správu stavu v aplikacích a usnadňuje práci se složitými daty.

MobX

Toto řešení pro správu stavu umožňuje bezproblémově integrovat dynamická data do aplikací a snadno reagovat na změny.

Redux Toolkit

Komplexní sada nástrojů, která zjednodušuje a vylepšuje vývoj s Reduxem a pomáhá zajistit, aby byly aplikace předvídatelné a snadno udržovatelné.

valtio

Tato knihovna zjednodušuje správu stavu založenou na proxy v moderních aplikacích, zlepšuje vývojářský zážitek díky efektivnímu vykreslování a snadné manipulaci se stavem.

TanStack DB

Reaktivní klientské úložiště s živými dotazy a optimistickými mutacemi pro konzistentní rozhraní s odezvou pod milisekundu a synchronizací v reálném čase.

Jotai

Výkonné a přitom lehké řešení pro správu stavu, které využívá atomický přístup ke správě stavu v aplikacích React.

MobX-State-Tree

Plně vybavená knihovna, která zjednodušuje správu stavu díky strukturovanému přístupu k práci s proměnlivým stavem.

TanStack Router

Moderní a škálovatelná knihovna pro směrování, navržená speciálně pro React se zaměřením na typovou bezpečnost a efektivní správu dat.