restate / v1.0.0

Справочник на API

Всеки експорт на @kkwaenggwari/restate 1.0, с аргументи, връщани стойности и поведение.

На тази страницаЕкспортиМетоди на storeМетоди на запазван storeОпции на persistedRestateПолета на статусаrestateManager и scope.managerИнтерфейс на адаптера за хранилище

Експорти

Всичко се импортира от @kkwaenggwari/restate, в уеб и в React Native.

ЕкспортВръщаЗа какво
restate(initial, updater | options?)Hook на storeСъздаване на споделен store в паметта.
persistedRestate(initial, options)Hook на запазван storeСъздаване на store, който се възстановява и запазва чрез хранилище.
useRestateScope(factory?)Резултат от factory или scopeПритежаване на store в компонент; унищожават се след демонтиране.
createRestateScope()RestateScopeПритежаване на store извън React; накрая извикайте destroy().
shallow(left, right)booleanСравняване на изборите на едно ниво дълбочина.
batch(callback)Резултат от callbackИзвестяване на абонатите веднъж след няколко промени.
restateManagerRestateManagerИзчакване на данните при стартиране и групови операции върху глобалните store.
createIndexedDBStorage(options?)RestateStorageСъздаване на адаптер за IndexedDB със собствено име на база данни или store.
createMMKVStorage(options?)RestateStorageСъздаване на адаптер за MMKV със собствен екземпляр или конфигурация.

Методи на store

Store е функция, която извиквате като hook, с тези методи.

ЧленОписание
useStore()Връща цялата стойност и се пререндерира при всяка промяна.
useStore(selector, isEqual?)Връща избора; пререндерира се, когато isEqual (по подразбиране Object.is) съобщи за промяна.
get()Текущата стойност без абонамент.
set(value | updater)Заменя стойността или я изчислява от предишната. Игнорира се след destroy().
reset()Възстановява декларираната начална стойност и я връща.
subscribe(listener)Извиква listener(value, previous, event) след всяка промяна; връща функция за отписване.
subscribeSelector(selector, listener, isEqual?)Извиква listener само когато изборът се промени.
on(type, listener)Слуша събития като change, reset, save или error.
start() / stop() / isRunning()Ръчно управление на updater.
destroy() / isDestroyed()Освобождава слушателите и updater. По-късни абонаменти хвърлят STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Начална стойност, моментна снимка от сървъра и последна грешка на слушател.
id / kindУникален id; memory или persistent.

Методи на запазван store

persistedRestate връща store с тези допълнителни членове.

ЧленОписание
readyPromise, който се изпълнява, когато автоматичното зареждане приключи, дори при неуспех. Проверете status().
save()Записва текущата стойност; изпълнява се с действително записаната стойност.
restore()Чете запазената стойност в паметта.
hasSaved()Дали съществува запазен запис.
clearStorage()Изтрива запазения запис; паметта не се променя.
resetAndClearStorage()Връща паметта към началната стойност и изтрива запазения запис.
initialize()Зарежда отново, например след поправяне на повреден запис.
status()Замразена моментна снимка на статуса; същият обект, докато не се промени поле.
useStatus(selector?, isEqual?)Hook, който се пререндерира, когато статусът или избраната му част се промени.
key / storageKey / storageЛогически ключ, ключ с пространство от имена и използваният адаптер.

Опции на persistedRestate

key е задължителен. Всички останали опции не са задължителни.

ОпцияПо подразбиранеЗначение
keyзадължителноЛогическият ключ на записа.
namespace"@kkwaenggwari/restate"Префикс на запазения ключ; празен низ го изключва.
storageIndexedDB / MMKVАдаптер вместо този по подразбиране за платформата.
autoSavefalsetrue запазва след всяка промяна; { delayMs } изчаква пауза.
version / migrate1 / нямаВерсия на записа и начин за обновяване на по-стари записи.
validateнямаПроверява стойностите преди запазване и след възстановяване или миграция.
serializerJSONСобствени функции serialize и deserialize.
operationTimeoutMs30000Максимално време за операция с хранилището.
maxPendingOperations256Позволени чакащи операции, включително активната.
maxStorageCharacters5242880Най-голямата кодирана стойност, в кодови единици UTF-16.
updater / managed / serverSnapshot / onError—Като опциите на restate.

Полета на статуса

status() и useStatus() връщат тези полета.

ПолеЗначение
readyАвтоматичното зареждане е приключило.
dirtyПаметта се различава от последно заредената, запазената или възстановената стойност.
operationТекущата операция с хранилището или null.
pendingНезавършени операции с хранилището, включително активната.
blockedОтменено или изтекло извикване на адаптера още не е приключило.
availableДали хранилището може да се използва.
error / observerErrorПоследна грешка на хранилището; последна грешка на слушател на статуса.
lastSavedAt / lastRestoredAtМилисекунди epoch на последния успех или null.

restateManager и scope.manager

Всеки мениджър следи регистрираните при него запазвани store.

ЧленОписание
readyИзчаква store, регистрирани в момента на достъпа; отхвърля с BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Изпълнява save или restore за всеки store; { concurrency } ограничава паралелната работа.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Изчиства записите, нулира паметта или и двете.
list() / get(idOrKey) / size()Преглед на регистрираните store.
subscribe(listener) / status()Наблюдение на събитията на мениджъра и грешките на слушателите.
destroyAll()Унищожава всеки регистриран store.

Интерфейс на адаптера за хранилище

Подайте като storage обект с тези методи. Всеки метод може да върне стойност или Promise.

МетодОписание
getItem(key, context?)Връща запазения низ или null.
setItem(key, value, context?)Запазва низа.
removeItem(key, context?)Изтрива записа.
isAvailable?()Синхронно съобщава дали хранилището може да се използва.
clear?() / close?()Незадължително изпразване и почистване.
coordinationKey?Обект, споделян от обвивките на едно и също основно хранилище.

Търсене в документацията

Търсене в заглавията, описанията и текста на всички ръководства.