restate / v1.0.0

Riferimento API

Ogni export di @kkwaenggwari/restate 1.0, con argomenti, valori restituiti e comportamento.

In questa paginaExportMetodi dello storeMetodi dello store salvatoOpzioni di persistedRestateCampi di statorestateManager e scope.managerInterfaccia dell’adattatore di archiviazione

Export

Tutto si importa da @kkwaenggwari/restate, sul web e su React Native.

ExportRestituisceServe per
restate(initial, updater | options?)Hook dello storeCreare uno store condiviso in memoria.
persistedRestate(initial, options)Hook dello store salvatoCreare uno store che si ripristina e si salva tramite l’archivio.
useRestateScope(factory?)Risultato della factory o scopePossedere store in un componente; distrutti dopo lo smontaggio.
createRestateScope()RestateScopePossedere store fuori da React; chiama destroy() alla fine.
shallow(left, right)booleanConfrontare le selezioni a un livello di profondità.
batch(callback)Risultato del callbackNotificare gli iscritti una volta dopo più modifiche.
restateManagerRestateManagerAttendere i dati dell’avvio ed eseguire operazioni in blocco sugli store globali.
createIndexedDBStorage(options?)RestateStorageCreare un adattatore IndexedDB con un nome di database o di store personalizzato.
createMMKVStorage(options?)RestateStorageCreare un adattatore MMKV con la tua istanza o configurazione.

Metodi dello store

Uno store è una funzione che chiami come hook, con questi metodi.

MembroDescrizione
useStore()Restituisce l’intero valore e si ri-renderizza a ogni modifica.
useStore(selector, isEqual?)Restituisce la selezione; si ri-renderizza quando isEqual (predefinito Object.is) segnala un cambiamento.
get()Valore attuale, senza iscriversi.
set(value | updater)Sostituisce il valore o lo calcola dal precedente. Ignorato dopo destroy().
reset()Ripristina il valore iniziale dichiarato e lo restituisce.
subscribe(listener)Chiama listener(value, previous, event) dopo ogni modifica; restituisce una funzione per annullare l’iscrizione.
subscribeSelector(selector, listener, isEqual?)Chiama listener solo quando cambia la selezione.
on(type, listener)Ascolta eventi come change, reset, save o error.
start() / stop() / isRunning()Controlla l’updater a mano.
destroy() / isDestroyed()Rilascia i listener e l’updater. Le iscrizioni successive lanciano STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Valore iniziale, snapshot del server e ultimo errore di un listener.
id / kindid univoco; memory o persistent.

Metodi dello store salvato

persistedRestate restituisce uno store con questi membri aggiuntivi.

MembroDescrizione
readyPromise che si risolve quando finisce il caricamento automatico, anche se è fallito. Controlla status().
save()Scrive il valore attuale; si risolve con il valore effettivamente scritto.
restore()Legge il valore salvato in memoria.
hasSaved()Se esiste un record salvato.
clearStorage()Elimina il record salvato; la memoria non cambia.
resetAndClearStorage()Riporta la memoria al valore iniziale ed elimina il record salvato.
initialize()Carica di nuovo, per esempio dopo aver corretto un record fallito.
status()Snapshot congelato dello stato; lo stesso oggetto finché non cambia un campo.
useStatus(selector?, isEqual?)Hook che si ri-renderizza quando cambia lo stato o la parte selezionata.
key / storageKey / storageChiave logica, chiave con namespace e adattatore in uso.

Opzioni di persistedRestate

key è obbligatoria. Tutte le altre opzioni sono facoltative.

OpzionePredefinitoSignificato
keyobbligatoriaChiave logica del record.
namespace"@kkwaenggwari/restate"Prefisso della chiave salvata; una stringa vuota lo disattiva.
storageIndexedDB / MMKVAdattatore da usare al posto di quello predefinito della piattaforma.
autoSavefalsetrue salva dopo ogni modifica; { delayMs } aspetta una pausa.
version / migrate1 / nessunaVersione del record e come aggiornare i record più vecchi.
validatenessunaControlla i valori prima del salvataggio e dopo il ripristino o la migrazione.
serializerJSONFunzioni serialize e deserialize personalizzate.
operationTimeoutMs30000Tempo massimo di un’operazione di archiviazione.
maxPendingOperations256Operazioni in sospeso consentite, compresa quella attiva.
maxStorageCharacters5242880Valore codificato più grande, in unità di codice UTF-16.
updater / managed / serverSnapshot / onError—Come le opzioni di restate.

Campi di stato

status() e useStatus() restituiscono questi campi.

CampoSignificato
readyIl caricamento automatico è terminato.
dirtyLa memoria differisce dall’ultimo valore caricato, salvato o ripristinato.
operationL’operazione di archiviazione in corso, oppure null.
pendingOperazioni di archiviazione non concluse, compresa quella attiva.
blockedUna chiamata all’adattatore annullata o scaduta non si è ancora conclusa.
availableSe l’archivio può essere usato.
error / observerErrorUltimo errore di archiviazione; ultimo errore di un listener dello stato.
lastSavedAt / lastRestoredAtMillisecondi epoch dell’ultimo successo, oppure null.

restateManager e scope.manager

Ogni manager tiene traccia degli store persistenti registrati presso di sé.

MembroDescrizione
readyAttende gli store registrati al momento dell’accesso; rifiuta con BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Esegue save o restore su ogni store; { concurrency } limita il lavoro in parallelo.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Svuota i record, reimposta la memoria o entrambe le cose.
list() / get(idOrKey) / size()Ispeziona gli store registrati.
subscribe(listener) / status()Osserva gli eventi del manager e gli errori dei listener.
destroyAll()Distrugge ogni store registrato.

Interfaccia dell’adattatore di archiviazione

Passa come storage un oggetto con questi metodi. Ogni metodo può restituire un valore o una Promise.

MetodoDescrizione
getItem(key, context?)Restituisce la stringa salvata oppure null.
setItem(key, value, context?)Salva la stringa.
removeItem(key, context?)Elimina il record.
isAvailable?()Indica in modo sincrono se l’archivio può essere usato.
clear?() / close?()Svuotamento e pulizia facoltativi.
coordinationKey?Oggetto condiviso tra i wrapper dello stesso archivio sottostante.

Cerca nella documentazione

Cerca nei titoli, nelle descrizioni e nel testo di tutte le guide.