restate / v1.0.0
Referencia API
Každý export @kkwaenggwari/restate 1.0 s argumentmi, návratovými hodnotami a správaním.
Na tejto stránke
ExportyMetódy storeMetódy ukladaného storeVoľby persistedRestateStavové poliarestateManager a scope.managerRozhranie adaptéra úložiskaExporty
Všetko sa importuje z @kkwaenggwari/restate, na webe aj v React Native.
| Export | Vracia | Na čo |
|---|---|---|
restate(initial, updater | options?) | Hook store | Vytvoriť zdieľaný store v pamäti. |
persistedRestate(initial, options) | Hook ukladaného store | Vytvoriť store, ktorý sa obnovuje a ukladá cez úložisko. |
useRestateScope(factory?) | Výsledok factory alebo scope | Vlastniť store v komponente; zničia sa po odpojení. |
createRestateScope() | RestateScope | Vlastniť store mimo React; na konci zavolajte destroy(). |
shallow(left, right) | boolean | Porovnávať výbery do hĺbky jednej úrovne. |
batch(callback) | Výsledok callbacku | Upozorniť odberateľov raz po niekoľkých zmenách. |
restateManager | RestateManager | Čakať na údaje pri spustení a vykonávať hromadné operácie nad globálnymi store. |
createIndexedDBStorage(options?) | RestateStorage | Vytvoriť adaptér IndexedDB s vlastným názvom databázy alebo store. |
createMMKVStorage(options?) | RestateStorage | Vytvoriť adaptér MMKV s vlastnou inštanciou alebo konfiguráciou. |
Metódy store
Store je funkcia, ktorú voláte ako hook, s týmito metódami.
| Člen | Popis |
|---|---|
useStore() | Vracia celú hodnotu a prekreslí sa pri každej zmene. |
useStore(selector, isEqual?) | Vracia výber; prekreslí sa, keď isEqual (predvolene Object.is) ohlási zmenu. |
get() | Aktuálna hodnota bez odberu. |
set(value | updater) | Nahradí hodnotu alebo ju vypočíta z predchádzajúcej. Po destroy() sa ignoruje. |
reset() | Obnoví deklarovanú predvolenú hodnotu a vráti ju. |
subscribe(listener) | Po každej zmene volá listener(value, previous, event); vracia funkciu na zrušenie odberu. |
subscribeSelector(selector, listener, isEqual?) | Volá listener len pri zmene výberu. |
on(type, listener) | Počúva udalosti ako change, reset, save alebo error. |
start() / stop() / isRunning() | Ručné ovládanie updatera. |
destroy() / isDestroyed() | Uvoľní poslucháčov aj updater. Neskoršie odbery vyhodia STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Predvolená hodnota, snímka zo servera a posledná chyba poslucháča. |
id / kind | Jedinečné id; memory alebo persistent. |
Metódy ukladaného store
persistedRestate vracia store s týmito ďalšími členmi.
| Člen | Popis |
|---|---|
ready | Promise, ktorý sa splní po dokončení automatického načítania, aj keď zlyhalo. Skontrolujte status(). |
save() | Zapíše aktuálnu hodnotu; splní sa hodnotou, ktorá sa skutočne zapísala. |
restore() | Načíta uloženú hodnotu do pamäte. |
hasSaved() | Či existuje uložený záznam. |
clearStorage() | Zmaže uložený záznam; pamäť sa nemení. |
resetAndClearStorage() | Vráti pamäť na predvolenú hodnotu a zmaže uložený záznam. |
initialize() | Načíta znova, napríklad po oprave zlyhaného záznamu. |
status() | Zmrazená snímka stavu; rovnaký objekt, kým sa nezmení niektoré pole. |
useStatus(selector?, isEqual?) | Hook, ktorý sa prekreslí, keď sa zmení stav alebo jeho vybraná časť. |
key / storageKey / storage | Logický kľúč, kľúč s menným priestorom a použitý adaptér. |
Voľby persistedRestate
key je povinný. Všetky ostatné voľby sú voliteľné.
| Voľba | Predvolené | Význam |
|---|---|---|
key | povinné | Logický kľúč záznamu. |
namespace | "@kkwaenggwari/restate" | Predpona ukladaného kľúča; prázdny reťazec ju vypne. |
storage | IndexedDB / MMKV | Adaptér namiesto predvoleného pre platformu. |
autoSave | false | true ukladá po každej zmene; { delayMs } čaká na pauzu. |
version / migrate | 1 / žiadne | Verzia záznamu a spôsob aktualizácie starších záznamov. |
validate | žiadne | Kontroluje hodnoty pred uložením a po obnovení či migrácii. |
serializer | JSON | Vlastné funkcie serialize a deserialize. |
operationTimeoutMs | 30000 | Najdlhší čas operácie s úložiskom. |
maxPendingOperations | 256 | Povolený počet čakajúcich operácií vrátane aktívnej. |
maxStorageCharacters | 5242880 | Najväčšia zakódovaná hodnota v kódových jednotkách UTF-16. |
updater / managed / serverSnapshot / onError | — | Rovnaké ako voľby restate. |
Stavové polia
status() a useStatus() vracajú tieto polia.
| Pole | Význam |
|---|---|
ready | Automatické načítanie sa skončilo. |
dirty | Pamäť sa líši od naposledy načítanej, uloženej alebo obnovenej hodnoty. |
operation | Prebiehajúca operácia s úložiskom, alebo null. |
pending | Nedokončené operácie s úložiskom vrátane aktívnej. |
blocked | Zrušené volanie adaptéra alebo volanie s vypršaným časom sa ešte neskončilo. |
available | Či možno úložisko použiť. |
error / observerError | Posledná chyba úložiska; posledná chyba poslucháča stavu. |
lastSavedAt / lastRestoredAt | Milisekundy epoch posledného úspechu, alebo null. |
restateManager a scope.manager
Každý manager sleduje ukladané store, ktoré sú u neho zaregistrované.
| Člen | Popis |
|---|---|
ready | Čaká na store zaregistrované v okamihu prístupu; odmietne s BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Spustí save alebo restore na každom store; { concurrency } obmedzuje súbežnú prácu. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Vymaže záznamy, obnoví pamäť alebo oboje. |
list() / get(idOrKey) / size() | Prezeranie zaregistrovaných store. |
subscribe(listener) / status() | Sledovanie udalostí managera a chýb poslucháčov. |
destroyAll() | Zničí každý zaregistrovaný store. |
Rozhranie adaptéra úložiska
Odovzdajte ako storage objekt s týmito metódami. Každá metóda môže vrátiť hodnotu alebo Promise.
| Metóda | Popis |
|---|---|
getItem(key, context?) | Vracia uložený reťazec, alebo null. |
setItem(key, value, context?) | Uloží reťazec. |
removeItem(key, context?) | Zmaže záznam. |
isAvailable?() | Synchrónne hlási, či možno úložisko použiť. |
clear?() / close?() | Voliteľné vyprázdnenie a upratanie. |
coordinationKey? | Objekt zdieľaný obalmi toho istého podkladového úložiska. |