restate / v1.0.0

Dokumentacja API

Każdy eksport @kkwaenggwari/restate 1.0, z argumentami, wartościami zwracanymi i zachowaniem.

Na tej stronieEksportyMetody magazynuMetody zapisywanego magazynuOpcje persistedRestatePola statusurestateManager i scope.managerInterfejs adaptera pamięci

Eksporty

Wszystko importujesz z @kkwaenggwari/restate, w sieci i w React Native.

EksportZwracaDo czego
restate(initial, updater | options?)Hook magazynuUtworzyć wspólny magazyn w pamięci.
persistedRestate(initial, options)Hook zapisywanego magazynuUtworzyć magazyn przywracany i zapisywany przez pamięć trwałą.
useRestateScope(factory?)Wynik fabryki lub zakresPosiadać magazyny w komponencie; niszczone po odmontowaniu.
createRestateScope()RestateScopePosiadać magazyny poza React; na końcu wywołaj destroy().
shallow(left, right)booleanPorównywać wybory na jednym poziomie głębokości.
batch(callback)Wynik callbackuPowiadomić subskrybentów raz po kilku zmianach.
restateManagerRestateManagerCzekać na dane startowe i wykonywać operacje zbiorcze na magazynach globalnych.
createIndexedDBStorage(options?)RestateStorageUtworzyć adapter IndexedDB z własną nazwą bazy danych lub magazynu.
createMMKVStorage(options?)RestateStorageUtworzyć adapter MMKV z własną instancją lub konfiguracją.

Metody magazynu

Magazyn to funkcja, którą wywołujesz jak hook, z tymi metodami.

ElementOpis
useStore()Zwraca całą wartość i renderuje się przy każdej zmianie.
useStore(selector, isEqual?)Zwraca wybór; renderuje się, gdy isEqual (domyślnie Object.is) zgłosi zmianę.
get()Bieżąca wartość, bez subskrypcji.
set(value | updater)Zastępuje wartość lub oblicza ją z poprzedniej. Ignorowane po destroy().
reset()Przywraca zadeklarowaną wartość początkową i ją zwraca.
subscribe(listener)Wywołuje listener(value, previous, event) po każdej zmianie; zwraca funkcję anulującą subskrypcję.
subscribeSelector(selector, listener, isEqual?)Wywołuje listener tylko wtedy, gdy zmienia się wybór.
on(type, listener)Nasłuchuje zdarzeń takich jak change, reset, save czy error.
start() / stop() / isRunning()Ręczne sterowanie updaterem.
destroy() / isDestroyed()Zwalnia słuchaczy i updater. Późniejsze subskrypcje rzucają STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Wartość początkowa, migawka serwera i ostatni błąd słuchacza.
id / kindUnikalny id; memory lub persistent.

Metody zapisywanego magazynu

persistedRestate zwraca magazyn z tymi dodatkowymi elementami.

ElementOpis
readyPromise spełniany po zakończeniu automatycznego wczytania, nawet nieudanego. Sprawdź status().
save()Zapisuje bieżącą wartość; spełnia się wartością faktycznie zapisaną.
restore()Wczytuje zapisaną wartość do pamięci.
hasSaved()Czy istnieje zapisany rekord.
clearStorage()Usuwa zapisany rekord; pamięć się nie zmienia.
resetAndClearStorage()Przywraca pamięć do wartości początkowej i usuwa zapisany rekord.
initialize()Wczytuje ponownie, na przykład po naprawie wadliwego rekordu.
status()Zamrożona migawka statusu; ten sam obiekt, dopóki nie zmieni się żadne pole.
useStatus(selector?, isEqual?)Hook renderujący się ponownie, gdy zmienia się status lub jego wybrana część.
key / storageKey / storageKlucz logiczny, klucz z przestrzenią nazw i używany adapter.

Opcje persistedRestate

key jest wymagany. Wszystkie pozostałe opcje są opcjonalne.

OpcjaDomyślnieZnaczenie
keywymaganeKlucz logiczny rekordu.
namespace"@kkwaenggwari/restate"Prefiks zapisywanego klucza; pusty ciąg go wyłącza.
storageIndexedDB / MMKVAdapter zamiast domyślnego dla platformy.
autoSavefalsetrue zapisuje po każdej zmianie; { delayMs } czeka na przerwę.
version / migrate1 / brakWersja rekordu i sposób aktualizacji starszych rekordów.
validatebrakSprawdza wartości przed zapisem i po przywróceniu lub migracji.
serializerJSONWłasne funkcje serialize i deserialize.
operationTimeoutMs30000Maksymalny czas operacji na pamięci.
maxPendingOperations256Dopuszczalna liczba oczekujących operacji, łącznie z aktywną.
maxStorageCharacters5242880Największa zakodowana wartość, w jednostkach kodu UTF-16.
updater / managed / serverSnapshot / onError—Jak w opcjach restate.

Pola statusu

status() i useStatus() zwracają te pola.

PoleZnaczenie
readyAutomatyczne wczytanie się zakończyło.
dirtyPamięć różni się od ostatnio wczytanej, zapisanej lub przywróconej wartości.
operationBieżąca operacja na pamięci lub null.
pendingNiezakończone operacje na pamięci, łącznie z aktywną.
blockedAnulowane lub przeterminowane wywołanie adaptera jeszcze się nie zakończyło.
availableCzy można używać pamięci.
error / observerErrorOstatni błąd pamięci; ostatni błąd słuchacza statusu.
lastSavedAt / lastRestoredAtMilisekundy epoch ostatniego sukcesu lub null.

restateManager i scope.manager

Każdy menedżer śledzi zapisywane magazyny zarejestrowane u siebie.

ElementOpis
readyCzeka na magazyny zarejestrowane w chwili dostępu; odrzuca z BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Wykonuje save lub restore na każdym magazynie; { concurrency } ogranicza pracę równoległą.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Czyści rekordy, resetuje pamięć lub jedno i drugie.
list() / get(idOrKey) / size()Przegląd zarejestrowanych magazynów.
subscribe(listener) / status()Obserwacja zdarzeń menedżera i błędów słuchaczy.
destroyAll()Niszczy każdy zarejestrowany magazyn.

Interfejs adaptera pamięci

Przekaż jako storage obiekt z tymi metodami. Każda metoda może zwrócić wartość lub Promise.

MetodaOpis
getItem(key, context?)Zwraca zapisany ciąg lub null.
setItem(key, value, context?)Zapisuje ciąg.
removeItem(key, context?)Usuwa rekord.
isAvailable?()Synchronicznie informuje, czy można używać pamięci.
clear?() / close?()Opcjonalne opróżnianie i sprzątanie.
coordinationKey?Obiekt wspólny dla wrapperów tej samej pamięci bazowej.

Szukaj w dokumentacji

Przeszukuj tytuły, opisy i treść wszystkich przewodników.