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 | Известяване на абонатите веднъж след няколко промени. |
restateManager | RestateManager | Изчакване на данните при стартиране и групови операции върху глобалните 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 с тези допълнителни членове.
| Член | Описание |
|---|---|
ready | Promise, който се изпълнява, когато автоматичното зареждане приключи, дори при неуспех. Проверете status(). |
save() | Записва текущата стойност; изпълнява се с действително записаната стойност. |
restore() | Чете запазената стойност в паметта. |
hasSaved() | Дали съществува запазен запис. |
clearStorage() | Изтрива запазения запис; паметта не се променя. |
resetAndClearStorage() | Връща паметта към началната стойност и изтрива запазения запис. |
initialize() | Зарежда отново, например след поправяне на повреден запис. |
status() | Замразена моментна снимка на статуса; същият обект, докато не се промени поле. |
useStatus(selector?, isEqual?) | Hook, който се пререндерира, когато статусът или избраната му част се промени. |
key / storageKey / storage | Логически ключ, ключ с пространство от имена и използваният адаптер. |
Опции на persistedRestate
key е задължителен. Всички останали опции не са задължителни.
| Опция | По подразбиране | Значение |
|---|---|---|
key | задължително | Логическият ключ на записа. |
namespace | "@kkwaenggwari/restate" | Префикс на запазения ключ; празен низ го изключва. |
storage | IndexedDB / MMKV | Адаптер вместо този по подразбиране за платформата. |
autoSave | false | true запазва след всяка промяна; { delayMs } изчаква пауза. |
version / migrate | 1 / няма | Версия на записа и начин за обновяване на по-стари записи. |
validate | няма | Проверява стойностите преди запазване и след възстановяване или миграция. |
serializer | JSON | Собствени функции serialize и deserialize. |
operationTimeoutMs | 30000 | Максимално време за операция с хранилището. |
maxPendingOperations | 256 | Позволени чакащи операции, включително активната. |
maxStorageCharacters | 5242880 | Най-голямата кодирана стойност, в кодови единици 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? | Обект, споделян от обвивките на едно и също основно хранилище. |