restate / v1.0.0
API-naslag
Elke export van @kkwaenggwari/restate 1.0, met argumenten, returnwaarden en gedrag.
Op deze pagina
ExportsStore-methodenMethoden van opgeslagen storesOpties van persistedRestateStatusveldenrestateManager en scope.managerInterface van de opslagadapterExports
Alles wordt geïmporteerd uit @kkwaenggwari/restate, op web en in React Native.
| Export | Geeft terug | Gebruik voor |
|---|---|---|
restate(initial, updater | options?) | Store-hook | Een gedeelde store in het geheugen maken. |
persistedRestate(initial, options) | Hook voor opgeslagen store | Een store maken die via opslag wordt teruggezet en opgeslagen. |
useRestateScope(factory?) | Factory-resultaat of scope | Stores bezitten in een component; vernietigd na de unmount. |
createRestateScope() | RestateScope | Stores bezitten buiten React; roep aan het eind destroy() aan. |
shallow(left, right) | boolean | Selecties één niveau diep vergelijken. |
batch(callback) | Callback-resultaat | Abonnees één keer melden na meerdere wijzigingen. |
restateManager | RestateManager | Wachten op opstartdata en bulkbewerkingen uitvoeren op globale stores. |
createIndexedDBStorage(options?) | RestateStorage | Een IndexedDB-adapter maken met een eigen database- of storenaam. |
createMMKVStorage(options?) | RestateStorage | Een MMKV-adapter maken met je eigen instantie of configuratie. |
Store-methoden
Een store is een functie die je als hook aanroept, met deze methoden.
| Lid | Beschrijving |
|---|---|
useStore() | Geeft de hele waarde terug en rendert opnieuw bij elke wijziging. |
useStore(selector, isEqual?) | Geeft de selectie terug; rendert opnieuw als isEqual (standaard Object.is) een wijziging meldt. |
get() | Huidige waarde, zonder abonnement. |
set(value | updater) | Vervangt de waarde of berekent die uit de vorige. Genegeerd na destroy(). |
reset() | Zet de gedeclareerde beginwaarde terug en geeft die terug. |
subscribe(listener) | Roept listener(value, previous, event) aan na elke wijziging; geeft een afmeldfunctie terug. |
subscribeSelector(selector, listener, isEqual?) | Roept listener alleen aan als de selectie verandert. |
on(type, listener) | Luistert naar events zoals change, reset, save of error. |
start() / stop() / isRunning() | Bedien de updater handmatig. |
destroy() / isDestroyed() | Geeft listeners en de updater vrij. Latere abonnementen gooien STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Beginwaarde, server-snapshot en laatste listenerfout. |
id / kind | Unieke id; memory of persistent. |
Methoden van opgeslagen stores
persistedRestate geeft een store terug met deze extra leden.
| Lid | Beschrijving |
|---|---|
ready | Promise die wordt vervuld als het automatisch laden klaar is, ook als het mislukte. Controleer status(). |
save() | Schrijft de huidige waarde; wordt vervuld met de waarde die echt is geschreven. |
restore() | Leest de opgeslagen waarde in het geheugen. |
hasSaved() | Of er een opgeslagen record bestaat. |
clearStorage() | Verwijdert het opgeslagen record; het geheugen verandert niet. |
resetAndClearStorage() | Zet het geheugen terug naar de beginwaarde en verwijdert het opgeslagen record. |
initialize() | Laadt opnieuw, bijvoorbeeld na het repareren van een mislukt record. |
status() | Bevroren statussnapshot; hetzelfde object totdat een veld verandert. |
useStatus(selector?, isEqual?) | Hook die opnieuw rendert als de status of het geselecteerde deel ervan verandert. |
key / storageKey / storage | Logische sleutel, sleutel met namespace en de gebruikte adapter. |
Opties van persistedRestate
key is verplicht. Alle andere opties zijn optioneel.
| Optie | Standaard | Betekenis |
|---|---|---|
key | verplicht | Logische sleutel van het record. |
namespace | "@kkwaenggwari/restate" | Voorvoegsel van de opgeslagen sleutel; een lege string schakelt het uit. |
storage | IndexedDB / MMKV | Adapter in plaats van de standaard van het platform. |
autoSave | false | true slaat na elke wijziging op; { delayMs } wacht op een pauze. |
version / migrate | 1 / geen | Recordversie en hoe oudere records worden bijgewerkt. |
validate | geen | Controleert waarden vóór het opslaan en na terugzetten of migreren. |
serializer | JSON | Eigen functies serialize en deserialize. |
operationTimeoutMs | 30000 | Maximale tijd voor een opslagbewerking. |
maxPendingOperations | 256 | Toegestane wachtende bewerkingen, inclusief de actieve. |
maxStorageCharacters | 5242880 | Grootste gecodeerde waarde, in UTF-16-code-eenheden. |
updater / managed / serverSnapshot / onError | — | Zoals de opties van restate. |
Statusvelden
status() en useStatus() geven deze velden terug.
| Veld | Betekenis |
|---|---|
ready | Het automatisch laden is klaar. |
dirty | Het geheugen wijkt af van de laatst geladen, opgeslagen of teruggezette waarde. |
operation | De lopende opslagbewerking, of null. |
pending | Onafgeronde opslagbewerkingen, inclusief de actieve. |
blocked | Een afgebroken of verlopen adapteraanroep is nog niet afgerond. |
available | Of opslag kan worden gebruikt. |
error / observerError | Laatste opslagfout; laatste fout van een statuslistener. |
lastSavedAt / lastRestoredAt | Epoch-milliseconden van het laatste succes, of null. |
restateManager en scope.manager
Elke manager houdt de opgeslagen stores bij die bij hem zijn geregistreerd.
| Lid | Beschrijving |
|---|---|
ready | Wacht op de stores die op het moment van opvragen zijn geregistreerd; weigert met BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Voert save of restore uit op elke store; { concurrency } beperkt parallel werk. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Wist records, zet het geheugen terug of beide. |
list() / get(idOrKey) / size() | Geregistreerde stores inspecteren. |
subscribe(listener) / status() | Manager-events en listenerfouten observeren. |
destroyAll() | Vernietigt elke geregistreerde store. |
Interface van de opslagadapter
Geef als storage een object met deze methoden mee. Elke methode mag een waarde of een Promise teruggeven.
| Methode | Beschrijving |
|---|---|
getItem(key, context?) | Geeft de opgeslagen string terug of null. |
setItem(key, value, context?) | Slaat de string op. |
removeItem(key, context?) | Verwijdert het record. |
isAvailable?() | Meldt synchroon of opslag kan worden gebruikt. |
clear?() / close?() | Optioneel leegmaken en opruimen. |
coordinationKey? | Object dat wordt gedeeld door wrappers van dezelfde onderliggende opslag. |