restate / v1.0.0
API-referanse
Hver eksport i @kkwaenggwari/restate 1.0, med argumenter, returverdier og oppførsel.
På denne siden
EksporterStore-metoderMetoder for lagrede storesAlternativer for persistedRestateStatusfeltrestateManager og scope.managerGrensesnitt for lagringsadapterEksporter
Alt importeres fra @kkwaenggwari/restate, på web og i React Native.
| Eksport | Returnerer | Brukes til |
|---|---|---|
restate(initial, updater | options?) | Store-hook | Opprette en delt store i minnet. |
persistedRestate(initial, options) | Hook for lagret store | Opprette en store som gjenopprettes og lagres via lagring. |
useRestateScope(factory?) | Factory-resultat eller scope | Eie stores i en komponent; ødelegges etter unmount. |
createRestateScope() | RestateScope | Eie stores utenfor React; kall destroy() til slutt. |
shallow(left, right) | boolean | Sammenligne utvalg ett nivå dypt. |
batch(callback) | Callback-resultat | Varsle abonnenter én gang etter flere endringer. |
restateManager | RestateManager | Vente på oppstartsdata og kjøre masseoperasjoner på globale stores. |
createIndexedDBStorage(options?) | RestateStorage | Opprette en IndexedDB-adapter med eget database- eller store-navn. |
createMMKVStorage(options?) | RestateStorage | Opprette en MMKV-adapter med din egen instans eller konfigurasjon. |
Store-metoder
En store er en funksjon du kaller som en hook, med disse metodene.
| Medlem | Beskrivelse |
|---|---|
useStore() | Returnerer hele verdien og renderes på nytt ved hver endring. |
useStore(selector, isEqual?) | Returnerer utvalget; renderes på nytt når isEqual (standard Object.is) melder en endring. |
get() | Gjeldende verdi, uten abonnement. |
set(value | updater) | Erstatter verdien eller beregner den fra den forrige. Ignoreres etter destroy(). |
reset() | Gjenoppretter den deklarerte startverdien og returnerer den. |
subscribe(listener) | Kaller listener(value, previous, event) etter hver endring; returnerer en funksjon som avslutter abonnementet. |
subscribeSelector(selector, listener, isEqual?) | Kaller listener bare når utvalget endres. |
on(type, listener) | Lytter etter hendelser som change, reset, save eller error. |
start() / stop() / isRunning() | Styr updateren manuelt. |
destroy() / isDestroyed() | Frigjør lyttere og updateren. Senere abonnementer kaster STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Startverdi, serverens øyeblikksbilde og siste lytterfeil. |
id / kind | Unik id; memory eller persistent. |
Metoder for lagrede stores
persistedRestate returnerer en store med disse ekstra medlemmene.
| Medlem | Beskrivelse |
|---|---|
ready | Promise som oppfylles når den automatiske innlastingen er ferdig, også om den mislyktes. Sjekk status(). |
save() | Skriver gjeldende verdi; oppfylles med verdien som faktisk ble skrevet. |
restore() | Leser den lagrede verdien inn i minnet. |
hasSaved() | Om det finnes en lagret post. |
clearStorage() | Sletter den lagrede posten; minnet endres ikke. |
resetAndClearStorage() | Tilbakestiller minnet til startverdien og sletter den lagrede posten. |
initialize() | Laster inn på nytt, for eksempel etter at en feilende post er rettet. |
status() | Fryst statusøyeblikksbilde; samme objekt til et felt endres. |
useStatus(selector?, isEqual?) | Hook som renderes på nytt når statusen eller den valgte delen endres. |
key / storageKey / storage | Logisk nøkkel, nøkkel med navnerom og adapteren som brukes. |
Alternativer for persistedRestate
key er påkrevd. Alle andre alternativer er valgfrie.
| Alternativ | Standard | Betydning |
|---|---|---|
key | påkrevd | Postens logiske nøkkel. |
namespace | "@kkwaenggwari/restate" | Prefiks for den lagrede nøkkelen; en tom streng slår det av. |
storage | IndexedDB / MMKV | Adapter som brukes i stedet for plattformens standard. |
autoSave | false | true lagrer etter hver endring; { delayMs } venter på en pause. |
version / migrate | 1 / ingen | Postversjon og hvordan eldre poster oppgraderes. |
validate | ingen | Kontrollerer verdier før lagring og etter gjenoppretting eller migrering. |
serializer | JSON | Egne funksjoner for serialize og deserialize. |
operationTimeoutMs | 30000 | Lengste tid for en lagringsoperasjon. |
maxPendingOperations | 256 | Tillatte ventende operasjoner, inkludert den aktive. |
maxStorageCharacters | 5242880 | Største kodede verdi, i UTF-16-kodeenheter. |
updater / managed / serverSnapshot / onError | — | Som alternativene for restate. |
Statusfelt
status() og useStatus() returnerer disse feltene.
| Felt | Betydning |
|---|---|
ready | Den automatiske innlastingen er ferdig. |
dirty | Minnet avviker fra den sist innlastede, lagrede eller gjenopprettede verdien. |
operation | Den pågående lagringsoperasjonen eller null. |
pending | Uferdige lagringsoperasjoner, inkludert den aktive. |
blocked | Et avbrutt adapterkall eller et med tidsavbrudd er ikke fullført ennå. |
available | Om lagring kan brukes. |
error / observerError | Siste lagringsfeil; siste feil fra en statuslytter. |
lastSavedAt / lastRestoredAt | Epoch-millisekunder for siste vellykkede operasjon eller null. |
restateManager og scope.manager
Hver manager holder styr på de lagrede storene som er registrert hos den.
| Medlem | Beskrivelse |
|---|---|
ready | Venter på storene som er registrert ved tilgangen; avviser med BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Kjører save eller restore på hver store; { concurrency } begrenser parallelt arbeid. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Tømmer poster, tilbakestiller minnet eller begge deler. |
list() / get(idOrKey) / size() | Inspiser registrerte stores. |
subscribe(listener) / status() | Følg manager-hendelser og lytterfeil. |
destroyAll() | Ødelegger hver registrert store. |
Grensesnitt for lagringsadapter
Send et objekt med disse metodene som storage. Hver metode kan returnere en verdi eller et Promise.
| Metode | Beskrivelse |
|---|---|
getItem(key, context?) | Returnerer den lagrede strengen eller null. |
setItem(key, value, context?) | Lagrer strengen. |
removeItem(key, context?) | Sletter posten. |
isAvailable?() | Melder synkront om lagring kan brukes. |
clear?() / close?() | Valgfri tømming og opprydding. |
coordinationKey? | Objekt som deles av omslag rundt den samme underliggende lagringen. |