restate / v1.0.0
Referenca API-ja
Svaki export @kkwaenggwari/restate 1.0, s argumentima, povratnim vrijednostima i ponašanjem.
Na ovoj stranici
ExportiMetode storeaMetode spremljenog storeaOpcije persistedRestatePolja statusarestateManager i scope.managerSučelje adaptera spremištaExporti
Sve se uvozi iz @kkwaenggwari/restate, na webu i u React Nativeu.
| Export | Vraća | Za što |
|---|---|---|
restate(initial, updater | options?) | Hook storea | Stvoriti dijeljeni store u memoriji. |
persistedRestate(initial, options) | Hook spremljenog storea | Stvoriti store koji se vraća i sprema kroz spremište. |
useRestateScope(factory?) | Rezultat factoryja ili scope | Posjedovati storeove u komponenti; uništavaju se nakon demontiranja. |
createRestateScope() | RestateScope | Posjedovati storeove izvan Reacta; na kraju pozovite destroy(). |
shallow(left, right) | boolean | Uspoređivati odabire na dubini jedne razine. |
batch(callback) | Rezultat callbacka | Obavijestiti pretplatnike jednom nakon više promjena. |
restateManager | RestateManager | Čekati podatke pri pokretanju i izvoditi skupne operacije nad globalnim storeovima. |
createIndexedDBStorage(options?) | RestateStorage | Stvoriti IndexedDB adapter s vlastitim imenom baze podataka ili storea. |
createMMKVStorage(options?) | RestateStorage | Stvoriti MMKV adapter s vlastitom instancom ili konfiguracijom. |
Metode storea
Store je funkcija koju pozivate kao hook, s ovim metodama.
| Član | Opis |
|---|---|
useStore() | Vraća cijelu vrijednost i ponovno se renderira pri svakoj promjeni. |
useStore(selector, isEqual?) | Vraća odabir; ponovno se renderira kad isEqual (zadano Object.is) javi promjenu. |
get() | Trenutačna vrijednost, bez pretplate. |
set(value | updater) | Zamjenjuje vrijednost ili je izračunava iz prethodne. Zanemaruje se nakon destroy(). |
reset() | Vraća deklariranu početnu vrijednost i vraća je. |
subscribe(listener) | Nakon svake promjene poziva listener(value, previous, event); vraća funkciju za otkazivanje pretplate. |
subscribeSelector(selector, listener, isEqual?) | Poziva listener samo kad se odabir promijeni. |
on(type, listener) | Sluša događaje kao što su change, reset, save ili error. |
start() / stop() / isRunning() | Ručno upravljanje updaterom. |
destroy() / isDestroyed() | Oslobađa slušatelje i updater. Kasnije pretplate bacaju STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Početna vrijednost, snimka s poslužitelja i posljednja pogreška slušatelja. |
id / kind | Jedinstveni id; memory ili persistent. |
Metode spremljenog storea
persistedRestate vraća store s ovim dodatnim članovima.
| Član | Opis |
|---|---|
ready | Promise koji se ispunjava kad automatsko učitavanje završi, čak i ako nije uspjelo. Provjerite status(). |
save() | Zapisuje trenutačnu vrijednost; ispunjava se stvarno zapisanom vrijednošću. |
restore() | Čita spremljenu vrijednost u memoriju. |
hasSaved() | Postoji li spremljeni zapis. |
clearStorage() | Briše spremljeni zapis; memorija se ne mijenja. |
resetAndClearStorage() | Vraća memoriju na početnu vrijednost i briše spremljeni zapis. |
initialize() | Ponovno učitava, primjerice nakon popravka neuspjelog zapisa. |
status() | Zamrznuta snimka statusa; isti objekt dok se neko polje ne promijeni. |
useStatus(selector?, isEqual?) | Hook koji se ponovno renderira kad se promijeni status ili njegov odabrani dio. |
key / storageKey / storage | Logički ključ, ključ s prostorom imena i adapter koji se koristi. |
Opcije persistedRestate
key je obavezan. Sve ostale opcije nisu obavezne.
| Opcija | Zadano | Značenje |
|---|---|---|
key | obavezno | Logički ključ zapisa. |
namespace | "@kkwaenggwari/restate" | Prefiks spremljenog ključa; prazan niz ga isključuje. |
storage | IndexedDB / MMKV | Adapter umjesto zadanog za platformu. |
autoSave | false | true sprema nakon svake promjene; { delayMs } čeka stanku. |
version / migrate | 1 / ništa | Verzija zapisa i način nadogradnje starijih zapisa. |
validate | ništa | Provjerava vrijednosti prije spremanja i nakon vraćanja ili migracije. |
serializer | JSON | Vlastite funkcije serialize i deserialize. |
operationTimeoutMs | 30000 | Najdulje vrijeme operacije sa spremištem. |
maxPendingOperations | 256 | Dopuštene operacije na čekanju, uključujući aktivnu. |
maxStorageCharacters | 5242880 | Najveća kodirana vrijednost, u kodnim jedinicama UTF-16. |
updater / managed / serverSnapshot / onError | — | Kao opcije restate. |
Polja statusa
status() i useStatus() vraćaju ova polja.
| Polje | Značenje |
|---|---|
ready | Automatsko učitavanje je završilo. |
dirty | Memorija se razlikuje od posljednje učitane, spremljene ili vraćene vrijednosti. |
operation | Operacija sa spremištem u tijeku ili null. |
pending | Nedovršene operacije sa spremištem, uključujući aktivnu. |
blocked | Otkazani poziv adaptera ili poziv kojem je isteklo vrijeme još nije završio. |
available | Može li se spremište koristiti. |
error / observerError | Posljednja pogreška spremišta; posljednja pogreška slušatelja statusa. |
lastSavedAt / lastRestoredAt | Epoch milisekunde posljednjeg uspjeha ili null. |
restateManager i scope.manager
Svaki manager prati spremljene storeove registrirane kod njega.
| Član | Opis |
|---|---|
ready | Čeka storeove registrirane u trenutku pristupa; odbija s BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Izvodi save ili restore na svakom storeu; { concurrency } ograničava paralelan rad. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Briše zapise, vraća memoriju na zadano ili oboje. |
list() / get(idOrKey) / size() | Pregled registriranih storeova. |
subscribe(listener) / status() | Praćenje događaja managera i pogrešaka slušatelja. |
destroyAll() | Uništava svaki registrirani store. |
Sučelje adaptera spremišta
Kao storage predajte objekt s ovim metodama. Svaka metoda može vratiti vrijednost ili Promise.
| Metoda | Opis |
|---|---|
getItem(key, context?) | Vraća spremljeni niz ili null. |
setItem(key, value, context?) | Sprema niz. |
removeItem(key, context?) | Briše zapis. |
isAvailable?() | Sinkrono javlja može li se spremište koristiti. |
clear?() / close?() | Neobavezno pražnjenje i čišćenje. |
coordinationKey? | Objekt koji dijele omotači istog temeljnog spremišta. |