restate / v1.0.0

Referința API

Fiecare export din @kkwaenggwari/restate 1.0, cu argumentele, valorile returnate și comportamentul lui.

Pe această paginăExporturiMetodele store-uluiMetodele store-ului salvatOpțiunile persistedRestateCâmpuri de statusrestateManager și scope.managerInterfața adaptorului de stocare

Exporturi

Totul se importă din @kkwaenggwari/restate, pe web și în React Native.

ExportReturneazăPentru
restate(initial, updater | options?)Hook de storeCrearea unui store partajat în memorie.
persistedRestate(initial, options)Hook de store salvatCrearea unui store care se restaurează din stocare și se salvează în ea.
useRestateScope(factory?)Rezultatul factory-ului sau scopeDeținerea de store-uri într-o componentă; sunt distruse după demontare.
createRestateScope()RestateScopeDeținerea de store-uri în afara React; apelați destroy() la final.
shallow(left, right)booleanCompararea selecțiilor la un nivel de adâncime.
batch(callback)Rezultatul callback-uluiNotificarea abonaților o singură dată după mai multe modificări.
restateManagerRestateManagerAșteptarea datelor la pornire și rularea operațiunilor în bloc pe store-urile globale.
createIndexedDBStorage(options?)RestateStorageCrearea unui adaptor IndexedDB cu propriul nume de bază de date sau de store.
createMMKVStorage(options?)RestateStorageCrearea unui adaptor MMKV cu propria instanță sau configurație.

Metodele store-ului

Un store este o funcție pe care o apelați ca hook, cu aceste metode.

MembruDescriere
useStore()Returnează întreaga valoare și se re-randează la fiecare schimbare.
useStore(selector, isEqual?)Returnează o selecție; se re-randează când isEqual (implicit Object.is) raportează o schimbare.
get()Valoarea curentă, fără abonare.
set(value | updater)Înlocuiește valoarea sau o calculează din cea anterioară. Ignorat după destroy().
reset()Restaurează valoarea inițială declarată și o returnează.
subscribe(listener)Apelează listener(value, previous, event) după fiecare schimbare; returnează o funcție de dezabonare.
subscribeSelector(selector, listener, isEqual?)Apelează listener doar când se schimbă selecția.
on(type, listener)Ascultă evenimente precum change, reset, save sau error.
start() / stop() / isRunning()Controlul manual al updater-ului.
destroy() / isDestroyed()Eliberează listenerii și updater-ul. Abonările ulterioare aruncă STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Valoarea inițială, snapshotul serverului și ultima eroare a unui listener.
id / kindid unic; memory sau persistent.

Metodele store-ului salvat

persistedRestate returnează un store cu acești membri suplimentari.

MembruDescriere
readyPromise care se îndeplinește când se încheie încărcarea automată, chiar dacă a eșuat. Verificați status().
save()Scrie valoarea curentă; se îndeplinește cu valoarea scrisă efectiv.
restore()Citește valoarea salvată în memorie.
hasSaved()Dacă există o înregistrare salvată.
clearStorage()Șterge înregistrarea salvată; memoria rămâne neschimbată.
resetAndClearStorage()Resetează memoria la valoarea inițială și șterge înregistrarea salvată.
initialize()Încarcă din nou, de exemplu după repararea unei înregistrări eșuate.
status()Snapshot înghețat al stării; același obiect până se schimbă un câmp.
useStatus(selector?, isEqual?)Hook care se re-randează când se schimbă statusul sau partea lui selectată.
key / storageKey / storageKey-ul logic, key-ul cu spațiu de nume și adaptorul folosit.

Opțiunile persistedRestate

key este obligatoriu. Toate celelalte opțiuni sunt opționale.

OpțiuneImplicitSemnificație
keyobligatoriuKey-ul logic al înregistrării.
namespace"@kkwaenggwari/restate"Prefixul key-ului salvat; un șir gol îl dezactivează.
storageIndexedDB / MMKVAdaptor în locul celui implicit al platformei.
autoSavefalsetrue salvează după fiecare schimbare; { delayMs } așteaptă o pauză.
version / migrate1 / niciunulVersiunea înregistrării și modul de actualizare a înregistrărilor mai vechi.
validateniciunulVerifică valorile înainte de salvare și după restaurare sau migrare.
serializerJSONFuncții serialize și deserialize proprii.
operationTimeoutMs30000Durata maximă a unei operațiuni de stocare.
maxPendingOperations256Operațiuni în așteptare permise, inclusiv cea activă.
maxStorageCharacters5242880Cea mai mare valoare codificată, în unități de cod UTF-16.
updater / managed / serverSnapshot / onError—Ca opțiunile lui restate.

Câmpuri de status

status() și useStatus() returnează aceste câmpuri.

CâmpSemnificație
readyÎncărcarea automată s-a încheiat.
dirtyMemoria diferă de ultima valoare încărcată, salvată sau restaurată.
operationOperațiunea de stocare curentă sau null.
pendingOperațiuni de stocare neterminate, inclusiv cea activă.
blockedUn apel de adaptor anulat sau expirat încă nu s-a încheiat.
availableDacă stocarea poate fi folosită.
error / observerErrorUltima eroare de stocare; ultima eroare a unui listener de status.
lastSavedAt / lastRestoredAtMilisecunde epoch ale ultimului succes sau null.

restateManager și scope.manager

Fiecare manager urmărește store-urile salvate înregistrate la el.

MembruDescriere
readyAșteaptă store-urile înregistrate în momentul accesului; respinge cu BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Rulează save sau restore pe fiecare store; { concurrency } limitează lucrul în paralel.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Golește înregistrările, resetează memoria sau ambele.
list() / get(idOrKey) / size()Inspectarea store-urilor înregistrate.
subscribe(listener) / status()Observarea evenimentelor managerului și a erorilor listenerilor.
destroyAll()Distruge fiecare store înregistrat.

Interfața adaptorului de stocare

Transmiteți ca storage un obiect cu aceste metode. Fiecare metodă poate returna o valoare sau un Promise.

MetodăDescriere
getItem(key, context?)Returnează șirul salvat sau null.
setItem(key, value, context?)Salvează un șir.
removeItem(key, context?)Șterge o înregistrare.
isAvailable?()Raportează sincron dacă stocarea poate fi folosită.
clear?() / close?()Golire și curățare opționale.
coordinationKey?Obiect partajat de învelișurile aceleiași stocări de bază.

Căutați în documentație

Căutați în titlurile, descrierile și conținutul tuturor ghidurilor.