restate / v1.0.0
API-reference
Hver export i @kkwaenggwari/restate 1.0, med argumenter, returværdier og adfærd.
På denne side
ExportsStore-metoderMetoder for gemte storesIndstillinger for persistedRestateStatusfelterrestateManager og scope.managerInterface for lageradapterExports
Alt importeres fra @kkwaenggwari/restate, på web og i React Native.
| Export | Returnerer | Bruges til |
|---|---|---|
restate(initial, updater | options?) | Store-hook | Oprette en delt store i hukommelsen. |
persistedRestate(initial, options) | Hook til gemt store | Oprette en store, der gendannes og gemmes via lager. |
useRestateScope(factory?) | Factory-resultat eller scope | Eje stores i en komponent; nedlægges efter unmount. |
createRestateScope() | RestateScope | Eje stores uden for React; kald destroy() til sidst. |
shallow(left, right) | boolean | Sammenligne udvalg ét niveau dybt. |
batch(callback) | Callback-resultat | Give abonnenter besked én gang efter flere ændringer. |
restateManager | RestateManager | Vente på opstartsdata og køre massehandlinger på globale stores. |
createIndexedDBStorage(options?) | RestateStorage | Oprette en IndexedDB-adapter med eget database- eller store-navn. |
createMMKVStorage(options?) | RestateStorage | Oprette en MMKV-adapter med din egen instans eller konfiguration. |
Store-metoder
En store er en funktion, du kalder som en hook, med disse metoder.
| Medlem | Beskrivelse |
|---|---|
useStore() | Returnerer hele værdien og renderes igen ved hver ændring. |
useStore(selector, isEqual?) | Returnerer udvalget; renderes igen, når isEqual (standard Object.is) melder en ændring. |
get() | Aktuel værdi, uden abonnement. |
set(value | updater) | Erstatter værdien eller beregner den ud fra den forrige. Ignoreres efter destroy(). |
reset() | Gendanner den erklærede startværdi og returnerer den. |
subscribe(listener) | Kalder listener(value, previous, event) efter hver ændring; returnerer en funktion, der afmelder. |
subscribeSelector(selector, listener, isEqual?) | Kalder kun listener, når udvalget ændrer sig. |
on(type, listener) | Lytter til events som change, reset, save eller error. |
start() / stop() / isRunning() | Styr updateren manuelt. |
destroy() / isDestroyed() | Frigiver listeners og updateren. Senere abonnementer kaster STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Startværdi, serverens snapshot og seneste listener-fejl. |
id / kind | Unikt id; memory eller persistent. |
Metoder for gemte stores
persistedRestate returnerer en store med disse ekstra medlemmer.
| Medlem | Beskrivelse |
|---|---|
ready | Promise, der opfyldes, når den automatiske indlæsning er færdig, også hvis den fejlede. Tjek status(). |
save() | Skriver den aktuelle værdi; opfyldes med den værdi, der faktisk blev skrevet. |
restore() | Læser den gemte værdi ind i hukommelsen. |
hasSaved() | Om der findes en gemt post. |
clearStorage() | Sletter den gemte post; hukommelsen ændres ikke. |
resetAndClearStorage() | Nulstiller hukommelsen til startværdien og sletter den gemte post. |
initialize() | Indlæser igen, for eksempel efter at en fejlende post er rettet. |
status() | Frosset statussnapshot; samme objekt, indtil et felt ændrer sig. |
useStatus(selector?, isEqual?) | Hook, der renderes igen, når status eller den valgte del ændrer sig. |
key / storageKey / storage | Logisk nøgle, nøgle med navnerum og den anvendte adapter. |
Indstillinger for persistedRestate
key er påkrævet. Alle andre indstillinger er valgfrie.
| Indstilling | Standard | Betydning |
|---|---|---|
key | påkrævet | Postens logiske nøgle. |
namespace | "@kkwaenggwari/restate" | Præfiks for den gemte nøgle; en tom streng slår det fra. |
storage | IndexedDB / MMKV | Adapter, der bruges i stedet for platformens standard. |
autoSave | false | true gemmer efter hver ændring; { delayMs } venter på en pause. |
version / migrate | 1 / ingen | Postversion og hvordan ældre poster opgraderes. |
validate | ingen | Kontrollerer værdier før gem og efter gendannelse eller migrering. |
serializer | JSON | Egne funktioner til serialize og deserialize. |
operationTimeoutMs | 30000 | Længste tid for en lagerhandling. |
maxPendingOperations | 256 | Tilladte ventende handlinger, inklusive den aktive. |
maxStorageCharacters | 5242880 | Største kodede værdi, i UTF-16-kodeenheder. |
updater / managed / serverSnapshot / onError | — | Som indstillingerne for restate. |
Statusfelter
status() og useStatus() returnerer disse felter.
| Felt | Betydning |
|---|---|
ready | Den automatiske indlæsning er færdig. |
dirty | Hukommelsen afviger fra den senest indlæste, gemte eller gendannede værdi. |
operation | Den igangværende lagerhandling eller null. |
pending | Uafsluttede lagerhandlinger, inklusive den aktive. |
blocked | Et afbrudt adapterkald eller et med timeout er endnu ikke afsluttet. |
available | Om lageret kan bruges. |
error / observerError | Seneste lagerfejl; seneste fejl fra en status-listener. |
lastSavedAt / lastRestoredAt | Epoch-millisekunder for seneste succes eller null. |
restateManager og scope.manager
Hver manager holder styr på de gemte stores, der er registreret hos den.
| Medlem | Beskrivelse |
|---|---|
ready | Venter på de stores, der er registreret ved adgangen; afviser med BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Kører save eller restore på hver store; { concurrency } begrænser parallelt arbejde. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Rydder poster, nulstiller hukommelsen eller begge dele. |
list() / get(idOrKey) / size() | Inspicér registrerede stores. |
subscribe(listener) / status() | Observér manager-events og listener-fejl. |
destroyAll() | Nedlægger hver registreret store. |
Interface for lageradapter
Giv et objekt med disse metoder som storage. Hver metode kan returnere en værdi eller et Promise.
| Metode | Beskrivelse |
|---|---|
getItem(key, context?) | Returnerer den gemte streng eller null. |
setItem(key, value, context?) | Gemmer strengen. |
removeItem(key, context?) | Sletter posten. |
isAvailable?() | Melder synkront, om lageret kan bruges. |
clear?() / close?() | Valgfri tømning og oprydning. |
coordinationKey? | Objekt, der deles af wrappers omkring det samme underliggende lager. |