Gå til indhold

Et lille, afhængighedsfrit, reaktivt datalager og en synkroniseringsmotor til JavaScript-applikationer. Det giver detaljerede abonnementer, så brugergrænseflader kun renderes igen, når relevante data ændres, hvilket holder apps hurtige og forudsigelige.

Data kan modelleres som simple nøgle-værdi-par eller som tabelstrukturer med rækker og celler. Indbyggede funktioner omfatter skemaer med standardværdier og typeinferens, indekser til hurtige opslag, målinger til aggregeringer, relationer mellem tabeller, et checkpoint-system til fortryd/gendan og en SQL-lignende forespørgselsmotor (TinyQL) til reaktiv udvælgelse, sammenføjning, filtrering og gruppering.

Det er designet til local-first- og offline-first-arbejdsgange og tilbyder indbygget CRDT-understøttelse via MergeableStore til synkronisering og deterministisk sammenfletning af data på tværs af klienter og servere. Data kan gemmes i browserlager og IndexedDB samt i databaser som SQLite og PostgreSQL, og der er integrationer med Yjs og Automerge.

Valgfrie React-bindinger omfatter hooks og lette UI-komponenter til at bygge fuldt reaktive grænseflader samt en Inspector i appen til at se og redigere lagerdata live under udviklingen. Trods de mange funktioner er kernen stadig lille (omkring 5.3kB–11.7kB gzip-komprimeret), veldokumenteret og grundigt testet.

Funktioner

  • Reaktivt datalager i hukommelsen
  • Nøgle-værdi- og tabelbaserede datamodeller
  • Detaljerede lyttere og abonnementer
  • TinyQL-forespørgselsmotor (select/join/filter/group)
  • Indekser til hurtige opslag
  • Målinger og aggregeringer
  • Tabelrelationer
  • Skemaer med standardværdier og typeinferens
  • Checkpoints med fortryd/gendan
  • Indbygget CRDT MergeableStore
  • Synkronisering via WebSockets, BroadcastChannel og brugerdefinerede transportmekanismer
  • Lagring i browserlager og IndexedDB
  • Databasebaseret lagring for SQLite og PostgreSQL (og varianter som Bun/Expo SQLite)
  • Integrationer med Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Valgfrie React-hooks og færdigbyggede komponenter (ui-react, ui-react-dom)
  • Inspector-udviklerværktøj til data i appen
  • Designet til local-first og offlinebrug
  • Lille pakkestørrelse uden afhængigheder
  • 100% testdækning og omfattende dokumentation

Relaterede elementer

Legend State

Dette effektive bibliotek gør tilstandshåndtering i dine applikationer nemmere og håndtering af komplekse data til en leg.

MobX

Denne løsning til tilstandshåndtering gør det nemt at integrere dynamiske data i dine applikationer og tilpasser sig ubesværet ændringer.

Redux Toolkit

Et omfattende værktøjssæt, der forenkler og forbedrer udviklingen med Redux og sikrer, at applikationer er forudsigelige og nemme at vedligeholde.

valtio

Dette bibliotek forenkler proxybaseret tilstandshåndtering i moderne applikationer og forbedrer udviklingsoplevelsen med effektiv rendering og nem håndtering af tilstand.

TanStack DB

Reaktivt klientlager med liveforespørgsler og optimistiske mutationer, der giver ensartede brugergrænseflader på under et millisekund og synkronisering i realtid.

Jotai

En effektiv, men let løsning til tilstandshåndtering, der bruger en atomar tilgang i React-applikationer.

MobX-State-Tree

Et fuldt udstyret bibliotek, der gør tilstandshåndtering enklere med en struktureret tilgang til håndtering af ændringsbar tilstand.

TanStack Router

Et moderne og skalerbart routingbibliotek udviklet specifikt til React med fokus på typesikkerhed og effektiv datahåndtering.