Pereiti prie turinio

Maža, be priklausomybių veikianti reaktyvi duomenų saugykla ir sinchronizavimo variklis JavaScript programoms. Ji teikia detalias prenumeratas, todėl naudotojo sąsajos iš naujo atvaizduojamos tik pasikeitus aktualiems duomenims, o programos išlieka greitos ir nuspėjamos.

Duomenis galima modeliuoti kaip paprastas rakto ir reikšmės poras arba lentelines struktūras su eilutėmis ir langeliais. Integruotos funkcijos apima schemas su numatytosiomis reikšmėmis ir tipų išvada, greitų paieškų indeksus, agregavimo metrikas, lentelių ryšius, atšaukimo ir pakartojimo kontrolinių taškų sistemą bei į SQL panašų užklausų variklį TinyQL, skirtą duomenims pasirinkti, jungti, filtruoti ir grupuoti realiuoju laiku.

Sukurta vietinės pirmenybės ir darbui neprisijungus skirtoms darbo eigoms. Ji teikia savąjį CRDT palaikymą per MergeableStore, kad būtų galima sinchronizuoti ir deterministiškai sujungti duomenis tarp klientų ir serverių. Duomenis galima saugoti naršyklės saugykloje ir IndexedDB, taip pat tokiose duomenų bazėse kaip SQLite ir PostgreSQL. Be to, palaikomos integracijos su Yjs ir Automerge.

Pasirenkami React susiejimai apima kabliukus ir lengvus naudotojo sąsajos komponentus visiškai reaktyvioms sąsajoms kurti. Kuriant programą taip pat galima tiesiogiai peržiūrėti ir redaguoti saugyklos duomenis programoje esančiu Inspektoriumi. Nepaisant plačių galimybių, pagrindinė biblioteka išlieka maža (apie 5.3kB–11.7kB suspaudus gzip), išsamiai dokumentuota ir kruopščiai ištestuota.

Funkcijos

  • Reaktyvi duomenų saugykla atmintyje
  • Rakto ir reikšmės bei lenteliniai duomenų modeliai
  • Detalūs klausytojai ir prenumeratos
  • TinyQL užklausų variklis (pasirinkimas / jungimas / filtravimas / grupavimas)
  • Indeksai greitoms paieškoms
  • Metrikos ir agregavimas
  • Lentelių ryšiai
  • Schemos su numatytosiomis reikšmėmis ir tipų išvada
  • Kontroliniai taškai su atšaukimo ir pakartojimo funkcijomis
  • Savasis CRDT MergeableStore
  • Sinchronizavimas per WebSockets, BroadcastChannel ir pasirinktinius transporto kanalus
  • Duomenų saugojimas naršyklės saugykloje ir IndexedDB
  • Duomenų saugojimas SQLite ir PostgreSQL duomenų bazėse (taip pat tokiuose variantuose kaip Bun/Expo SQLite)
  • Integracijos su Yjs, Automerge, CR-SQLite, PGlite, ElectricSQL, Turso, PartyKit, Cloudflare Durable Objects
  • Pasirenkami React kabliukai ir iš anksto sukurti komponentai (ui-react, ui-react-dom)
  • Programoje esantis duomenų inspektoriaus kūrimo įrankis
  • Vietinės pirmenybės ir darbui neprisijungus pritaikytas dizainas
  • Mažas paketas be priklausomybių
  • 100% testų aprėptis ir išsami dokumentacija

Susiję elementai

Legend State

Ši galinga biblioteka supaprastina programų būsenos valdymą ir leidžia lengvai tvarkyti net sudėtingus duomenis.

MobX

Šis būsenos valdymo sprendimas leidžia sklandžiai integruoti dinamiškus duomenis į programas ir lengvai prisitaiko prie pokyčių.

Redux Toolkit

Išsamus įrankių rinkinys, padedantis supaprastinti ir patobulinti kūrimą naudojant Redux, kad programos veiktų nuspėjamai ir būtų lengvai prižiūrimos.

valtio

Ši biblioteka supaprastina tarpiniais objektais pagrįstą būsenos valdymą šiuolaikinėse programose, pagerindama kūrimo patirtį efektyviu atvaizdavimu ir paprastu būsenos keitimu.

TanStack DB

Reaktyvioji kliento duomenų saugykla su tiesioginėmis užklausomis ir optimistinėmis mutacijomis, užtikrinanti nuoseklias naudotojo sąsajas greičiau nei per milisekundę ir sinchronizavimą realiuoju laiku.

Jotai

Galingas, bet lengvas būsenos valdymo sprendimas, taikantis atominį metodą React programų būsenai valdyti.

MobX-State-Tree

Visapusiška biblioteka, kuri supaprastina būsenos valdymą ir suteikia struktūruotą keičiamų būsenų tvarkymo būdą.

TanStack Router

Šiuolaikiška ir lengvai plečiama maršrutizavimo biblioteka, specialiai skirta React, daugiausia dėmesio skirianti tipų saugumui ir efektyviam duomenų valdymui.