restate / v1.0.0

API-Referenz

Jeder Export von @kkwaenggwari/restate 1.0 mit Argumenten, Rückgabewerten und Verhalten.

Auf dieser SeiteExporteStore-MethodenMethoden gespeicherter StoresOptionen von persistedRestateStatusfelderrestateManager und scope.managerSchnittstelle eines Speicheradapters

Exporte

Alles wird im Web und unter React Native aus @kkwaenggwari/restate importiert.

ExportGibt zurückWofür
restate(initial, updater | options?)Store-HookEinen geteilten Arbeitsspeicher-Store erstellen.
persistedRestate(initial, options)Hook eines gespeicherten StoresEinen Store erstellen, der über Speicher wiederherstellt und speichert.
useRestateScope(factory?)Ergebnis der Factory oder ScopeStores in einer Komponente besitzen; nach dem Unmount zerstört.
createRestateScope()RestateScopeStores außerhalb von React besitzen; am Ende destroy() aufrufen.
shallow(left, right)booleanAuswahlen eine Ebene tief vergleichen.
batch(callback)Ergebnis des CallbacksAbonnenten nach mehreren Änderungen einmal benachrichtigen.
restateManagerRestateManagerAuf Startdaten warten und Sammeloperationen auf globalen Stores ausführen.
createIndexedDBStorage(options?)RestateStorageEinen IndexedDB-Adapter mit eigenem Datenbank- oder Store-Namen erstellen.
createMMKVStorage(options?)RestateStorageEinen MMKV-Adapter mit eigener Instanz oder Konfiguration erstellen.

Store-Methoden

Ein Store ist eine Funktion, die du als Hook aufrufst, mit diesen Methoden.

MemberBeschreibung
useStore()Gibt den ganzen Wert zurück und rendert bei jeder Änderung neu.
useStore(selector, isEqual?)Gibt die Auswahl zurück; rendert neu, wenn isEqual (Standard: Object.is) eine Änderung meldet.
get()Aktueller Wert, ohne zu abonnieren.
set(value | updater)Ersetzt den Wert oder berechnet ihn aus dem vorherigen. Nach destroy() ignoriert.
reset()Stellt den deklarierten Anfangswert wieder her und gibt ihn zurück.
subscribe(listener)Ruft nach jeder Änderung listener(value, previous, event) auf; gibt eine Funktion zum Abmelden zurück.
subscribeSelector(selector, listener, isEqual?)Ruft listener nur auf, wenn sich die Auswahl ändert.
on(type, listener)Hört auf Events wie change, reset, save oder error.
start() / stop() / isRunning()Steuert den updater von Hand.
destroy() / isDestroyed()Gibt Listener und updater frei. Spätere Abonnements werfen STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Anfangswert, Server-Snapshot und der letzte Listener-Fehler.
id / kindEindeutige id; memory oder persistent.

Methoden gespeicherter Stores

persistedRestate gibt einen Store mit diesen zusätzlichen Membern zurück.

MemberBeschreibung
readyPromise, die sich erfüllt, wenn das automatische Laden fertig ist – auch wenn es fehlschlug. Prüfe status().
save()Schreibt den aktuellen Wert; erfüllt sich mit dem tatsächlich geschriebenen Wert.
restore()Liest den gespeicherten Wert in den Arbeitsspeicher.
hasSaved()Ob ein gespeicherter Datensatz existiert.
clearStorage()Löscht den gespeicherten Datensatz; der Arbeitsspeicher bleibt unverändert.
resetAndClearStorage()Setzt den Arbeitsspeicher auf den Anfangswert zurück und löscht den gespeicherten Datensatz.
initialize()Lädt erneut, etwa nachdem ein fehlerhafter Datensatz repariert wurde.
status()Eingefrorener Status-Snapshot; dasselbe Objekt, bis sich ein Feld ändert.
useStatus(selector?, isEqual?)Hook, der neu rendert, wenn sich der Status oder der ausgewählte Teil ändert.
key / storageKey / storageLogischer Key, Key mit Namespace und der verwendete Adapter.

Optionen von persistedRestate

key ist erforderlich. Alle anderen Optionen sind optional.

OptionStandardBedeutung
keyerforderlichLogischer Key des Datensatzes.
namespace"@kkwaenggwari/restate"Präfix des gespeicherten Keys; ein leerer String deaktiviert es.
storageIndexedDB / MMKVAdapter, der statt des Plattformstandards verwendet wird.
autoSavefalsetrue speichert nach jeder Änderung; { delayMs } wartet auf eine Pause.
version / migrate1 / keineVersion des Datensatzes und wie ältere Datensätze aktualisiert werden.
validatekeinePrüft Werte vor dem Speichern sowie nach dem Wiederherstellen oder Migrieren.
serializerJSONEigene serialize- und deserialize-Funktionen.
operationTimeoutMs30000Zeitlimit für eine Speicheroperation.
maxPendingOperations256Erlaubte ausstehende Operationen, einschließlich der aktiven.
maxStorageCharacters5242880Größter kodierter Wert in UTF-16-Codeeinheiten.
updater / managed / serverSnapshot / onError—Wie die Optionen von restate.

Statusfelder

status() und useStatus() geben diese Felder zurück.

FeldBedeutung
readyDas automatische Laden ist abgeschlossen.
dirtyDer Arbeitsspeicher unterscheidet sich vom zuletzt geladenen, gespeicherten oder wiederhergestellten Wert.
operationDie gerade laufende Speicheroperation oder null.
pendingNicht abgeschlossene Speicheroperationen, einschließlich der aktiven.
blockedEin abgebrochener oder abgelaufener Adapteraufruf ist noch nicht abgeschlossen.
availableOb Speicher genutzt werden kann.
error / observerErrorLetzter Speicherfehler; letzter Fehler eines Status-Listeners.
lastSavedAt / lastRestoredAtEpoch-Millisekunden des letzten Erfolgs oder null.

restateManager und scope.manager

Jeder Manager verfolgt die bei ihm registrierten persistenten Stores.

MemberBeschreibung
readyWartet auf die zum Zugriffszeitpunkt registrierten Stores; lehnt mit BULK_OPERATION_FAILED ab.
saveAll(options?) / restoreAll(options?)Führt save oder restore für jeden Store aus; { concurrency } begrenzt parallele Arbeit.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Datensätze löschen, Arbeitsspeicher zurücksetzen oder beides.
list() / get(idOrKey) / size()Registrierte Stores untersuchen.
subscribe(listener) / status()Manager-Events und Listener-Fehler beobachten.
destroyAll()Jeden registrierten Store zerstören.

Schnittstelle eines Speicheradapters

Übergib als storage ein Objekt mit diesen Methoden. Jede Methode darf einen Wert oder eine Promise zurückgeben.

MethodeBeschreibung
getItem(key, context?)Gibt den gespeicherten String oder null zurück.
setItem(key, value, context?)Speichert den String.
removeItem(key, context?)Löscht den Datensatz.
isAvailable?()Meldet synchron, ob Speicher genutzt werden kann.
clear?() / close?()Optionales Leeren und Aufräumen.
coordinationKey?Gemeinsames Objekt für Wrapper desselben zugrunde liegenden Speichers.

Doku durchsuchen

Durchsucht Titel, Beschreibungen und Text aller Guides.