restate / v1.0.0
API-referens
Varje export i @kkwaenggwari/restate 1.0, med argument, returvärden och beteende.
På den här sidan
ExporterStore-metoderMetoder för sparade storesAlternativ för persistedRestateStatusfältrestateManager och scope.managerGränssnitt för lagringsadapterExporter
Allt importeras från @kkwaenggwari/restate, på webben och i React Native.
| Export | Returnerar | Används för |
|---|---|---|
restate(initial, updater | options?) | Store-hook | Skapa en delad store i minnet. |
persistedRestate(initial, options) | Hook för sparad store | Skapa en store som återställs och sparas via lagring. |
useRestateScope(factory?) | Factory-resultat eller scope | Äga stores i en komponent; förstörs efter unmount. |
createRestateScope() | RestateScope | Äga stores utanför React; anropa destroy() i slutet. |
shallow(left, right) | boolean | Jämföra urval en nivå djupt. |
batch(callback) | Callback-resultat | Avisera prenumeranter en gång efter flera ändringar. |
restateManager | RestateManager | Vänta på startdata och köra massåtgärder på globala stores. |
createIndexedDBStorage(options?) | RestateStorage | Skapa en IndexedDB-adapter med eget databas- eller storenamn. |
createMMKVStorage(options?) | RestateStorage | Skapa en MMKV-adapter med din egen instans eller konfiguration. |
Store-metoder
En store är en funktion som du anropar som en hook, med de här metoderna.
| Medlem | Beskrivning |
|---|---|
useStore() | Returnerar hela värdet och renderas om vid varje ändring. |
useStore(selector, isEqual?) | Returnerar urvalet; renderas om när isEqual (standard Object.is) rapporterar en ändring. |
get() | Aktuellt värde, utan prenumeration. |
set(value | updater) | Ersätter värdet eller beräknar det från det föregående. Ignoreras efter destroy(). |
reset() | Återställer det deklarerade startvärdet och returnerar det. |
subscribe(listener) | Anropar listener(value, previous, event) efter varje ändring; returnerar en funktion som avslutar prenumerationen. |
subscribeSelector(selector, listener, isEqual?) | Anropar listener bara när urvalet ändras. |
on(type, listener) | Lyssnar på händelser som change, reset, save eller error. |
start() / stop() / isRunning() | Styr updatern manuellt. |
destroy() / isDestroyed() | Släpper lyssnare och updatern. Senare prenumerationer kastar STORE_DESTROYED. |
getInitial() / getServerSnapshot() / getError() | Startvärde, serverns ögonblicksbild och senaste lyssnarfel. |
id / kind | Unikt id; memory eller persistent. |
Metoder för sparade stores
persistedRestate returnerar en store med de här extra medlemmarna.
| Medlem | Beskrivning |
|---|---|
ready | Promise som uppfylls när den automatiska inläsningen är klar, även om den misslyckades. Kontrollera status(). |
save() | Skriver det aktuella värdet; uppfylls med värdet som faktiskt skrevs. |
restore() | Läser det sparade värdet till minnet. |
hasSaved() | Om det finns en sparad post. |
clearStorage() | Raderar den sparade posten; minnet ändras inte. |
resetAndClearStorage() | Återställer minnet till startvärdet och raderar den sparade posten. |
initialize() | Läser in igen, till exempel efter att en misslyckad post åtgärdats. |
status() | Fryst statusögonblicksbild; samma objekt tills ett fält ändras. |
useStatus(selector?, isEqual?) | Hook som renderas om när statusen eller den valda delen ändras. |
key / storageKey / storage | Logisk nyckel, nyckel med namnrymd och adaptern som används. |
Alternativ för persistedRestate
key krävs. Alla andra alternativ är valfria.
| Alternativ | Standard | Betydelse |
|---|---|---|
key | krävs | Postens logiska nyckel. |
namespace | "@kkwaenggwari/restate" | Prefix för den sparade nyckeln; en tom sträng stänger av det. |
storage | IndexedDB / MMKV | Adapter att använda i stället för plattformens standard. |
autoSave | false | true sparar efter varje ändring; { delayMs } väntar på en paus. |
version / migrate | 1 / ingen | Postversion och hur äldre poster uppgraderas. |
validate | ingen | Kontrollerar värden före sparning och efter återställning eller migrering. |
serializer | JSON | Egna funktioner för serialize och deserialize. |
operationTimeoutMs | 30000 | Längsta tid för en lagringsåtgärd. |
maxPendingOperations | 256 | Tillåtna väntande åtgärder, inklusive den aktiva. |
maxStorageCharacters | 5242880 | Största kodade värde, i UTF-16-kodenheter. |
updater / managed / serverSnapshot / onError | — | Samma som alternativen för restate. |
Statusfält
status() och useStatus() returnerar de här fälten.
| Fält | Betydelse |
|---|---|
ready | Den automatiska inläsningen är klar. |
dirty | Minnet skiljer sig från det senast inlästa, sparade eller återställda värdet. |
operation | Den pågående lagringsåtgärden, eller null. |
pending | Oavslutade lagringsåtgärder, inklusive den aktiva. |
blocked | Ett avbrutet eller timeoutat adapteranrop har inte slutförts än. |
available | Om lagring kan användas. |
error / observerError | Senaste lagringsfel; senaste fel från en statuslyssnare. |
lastSavedAt / lastRestoredAt | Epoch-millisekunder för senaste lyckade åtgärd, eller null. |
restateManager och scope.manager
Varje manager håller reda på de sparade stores som registrerats hos den.
| Medlem | Beskrivning |
|---|---|
ready | Väntar på de stores som är registrerade vid åtkomsten; avvisar med BULK_OPERATION_FAILED. |
saveAll(options?) / restoreAll(options?) | Kör save eller restore på varje store; { concurrency } begränsar parallellt arbete. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Rensar poster, återställer minnet eller båda. |
list() / get(idOrKey) / size() | Inspektera registrerade stores. |
subscribe(listener) / status() | Observera managerhändelser och lyssnarfel. |
destroyAll() | Förstör varje registrerad store. |
Gränssnitt för lagringsadapter
Skicka ett objekt med de här metoderna som storage. Varje metod kan returnera ett värde eller ett Promise.
| Metod | Beskrivning |
|---|---|
getItem(key, context?) | Returnerar den sparade strängen eller null. |
setItem(key, value, context?) | Sparar strängen. |
removeItem(key, context?) | Raderar posten. |
isAvailable?() | Rapporterar synkront om lagring kan användas. |
clear?() / close?() | Valfri tömning och städning. |
coordinationKey? | Objekt som delas av omslag runt samma underliggande lagring. |