restate / v1.0.0
API başvurusu
@kkwaenggwari/restate 1.0'ın her export'u; argümanları, dönüş değerleri ve davranışıyla.
Bu sayfada
Export'larStore metotlarıKayıtlı store metotlarıpersistedRestate seçenekleriDurum alanlarırestateManager ve scope.managerDepolama adaptörü arayüzüExport'lar
Her şey web'de ve React Native'de @kkwaenggwari/restate'ten import edilir.
| Export | Döndürür | Ne için |
|---|---|---|
restate(initial, updater | options?) | Store hook'u | Bellekte paylaşılan bir store oluşturmak. |
persistedRestate(initial, options) | Kayıtlı store hook'u | Depolamadan geri yüklenen ve depolamaya kaydedilen bir store oluşturmak. |
useRestateScope(factory?) | Factory sonucu ya da scope | Bir bileşende store'lara sahip olmak; ayrıldıktan sonra yok edilirler. |
createRestateScope() | RestateScope | React dışında store'lara sahip olmak; sonunda destroy() çağırın. |
shallow(left, right) | boolean | Seçimleri bir düzey derinlikte karşılaştırmak. |
batch(callback) | Callback'in sonucu | Birkaç değişiklikten sonra aboneleri bir kez bilgilendirmek. |
restateManager | RestateManager | Başlangıç verilerini beklemek ve genel store'larda toplu işlemler yürütmek. |
createIndexedDBStorage(options?) | RestateStorage | Kendi veritabanı ya da store adınızla bir IndexedDB adaptörü oluşturmak. |
createMMKVStorage(options?) | RestateStorage | Kendi örneğiniz ya da yapılandırmanızla bir MMKV adaptörü oluşturmak. |
Store metotları
Store, hook olarak çağırdığınız ve bu metotlara sahip bir fonksiyondur.
| Üye | Açıklama |
|---|---|
useStore() | Tüm değeri döndürür ve her değişiklikte yeniden render edilir. |
useStore(selector, isEqual?) | Seçimi döndürür; isEqual (varsayılan Object.is) değişiklik bildirdiğinde yeniden render edilir. |
get() | Abonelik olmadan geçerli değer. |
set(value | updater) | Değeri değiştirir ya da öncekinden hesaplar. destroy() sonrasında yok sayılır. |
reset() | Bildirilen başlangıç değerini geri getirir ve döndürür. |
subscribe(listener) | Her değişiklikten sonra listener(value, previous, event) çağırır; aboneliği iptal eden bir fonksiyon döndürür. |
subscribeSelector(selector, listener, isEqual?) | listener'ı yalnızca seçim değiştiğinde çağırır. |
on(type, listener) | change, reset, save ya da error gibi olayları dinler. |
start() / stop() / isRunning() | updater'ın elle denetimi. |
destroy() / isDestroyed() | listener'ları ve updater'ı serbest bırakır. Sonraki abonelikler STORE_DESTROYED fırlatır. |
getInitial() / getServerSnapshot() / getError() | Başlangıç değeri, sunucu anlık görüntüsü ve son listener hatası. |
id / kind | Benzersiz id; memory ya da persistent. |
Kayıtlı store metotları
persistedRestate bu ek üyelere sahip bir store döndürür.
| Üye | Açıklama |
|---|---|
ready | Otomatik yükleme bittiğinde, başarısız olsa bile, tamamlanan Promise. status()'u kontrol edin. |
save() | Geçerli değeri yazar; gerçekten yazılan değerle tamamlanır. |
restore() | Kayıtlı değeri belleğe okur. |
hasSaved() | Kayıtlı bir kayıt olup olmadığı. |
clearStorage() | Kayıtlı kaydı siler; bellek değişmez. |
resetAndClearStorage() | Belleği başlangıç değerine sıfırlar ve kayıtlı kaydı siler. |
initialize() | Yeniden yükler; örneğin başarısız bir kaydı düzelttikten sonra. |
status() | Durumun dondurulmuş anlık görüntüsü; bir alan değişene kadar aynı nesne. |
useStatus(selector?, isEqual?) | Durum ya da seçilen kısmı değiştiğinde yeniden render edilen hook. |
key / storageKey / storage | Mantıksal key, ad alanlı key ve kullanılan adaptör. |
persistedRestate seçenekleri
key zorunludur. Diğer tüm seçenekler isteğe bağlıdır.
| Seçenek | Varsayılan | Anlamı |
|---|---|---|
key | zorunlu | Kaydın mantıksal key'i. |
namespace | "@kkwaenggwari/restate" | Kayıtlı key'in ön eki; boş dize onu kapatır. |
storage | IndexedDB / MMKV | Platform varsayılanı yerine kullanılacak adaptör. |
autoSave | false | true her değişiklikten sonra kaydeder; { delayMs } bir duraklama bekler. |
version / migrate | 1 / yok | Kayıt sürümü ve eski kayıtların yükseltilme yolu. |
validate | yok | Değerleri kaydetmeden önce ve geri yükleme ya da taşıma sonrasında denetler. |
serializer | JSON | Kendi serialize ve deserialize fonksiyonlarınız. |
operationTimeoutMs | 30000 | Bir depolama işleminin en uzun süresi. |
maxPendingOperations | 256 | Etkin olan dahil izin verilen bekleyen işlemler. |
maxStorageCharacters | 5242880 | UTF-16 kod birimi olarak en büyük kodlanmış değer. |
updater / managed / serverSnapshot / onError | — | restate seçenekleriyle aynı. |
Durum alanları
status() ve useStatus() bu alanları döndürür.
| Alan | Anlamı |
|---|---|
ready | Otomatik yükleme bitti. |
dirty | Bellek en son yüklenen, kaydedilen ya da geri yüklenen değerden farklı. |
operation | Geçerli depolama işlemi ya da null. |
pending | Etkin olan dahil tamamlanmamış depolama işlemleri. |
blocked | İptal edilmiş ya da zaman aşımına uğramış bir adaptör çağrısı henüz bitmedi. |
available | Depolamanın kullanılıp kullanılamayacağı. |
error / observerError | Son depolama hatası; son durum listener hatası. |
lastSavedAt / lastRestoredAt | Son başarının epoch milisaniyesi ya da null. |
restateManager ve scope.manager
Her manager kendisine kayıtlı kalıcı store'ları izler.
| Üye | Açıklama |
|---|---|
ready | Erişim anında kayıtlı store'ları bekler; BULK_OPERATION_FAILED ile reddeder. |
saveAll(options?) / restoreAll(options?) | Her store'da save ya da restore çalıştırır; { concurrency } paralel işi sınırlar. |
clearStorageAll() / resetAll() / resetAllAndClearStorage() | Kayıtları temizler, belleği sıfırlar ya da ikisini birden yapar. |
list() / get(idOrKey) / size() | Kayıtlı store'ların incelenmesi. |
subscribe(listener) / status() | manager olaylarını ve listener hatalarını gözlemler. |
destroyAll() | Kayıtlı her store'u yok eder. |
Depolama adaptörü arayüzü
storage olarak bu metotlara sahip bir nesne verin. Her metot bir değer ya da Promise döndürebilir.
| Metot | Açıklama |
|---|---|
getItem(key, context?) | Kayıtlı dizeyi ya da null döndürür. |
setItem(key, value, context?) | Bir dize kaydeder. |
removeItem(key, context?) | Bir kaydı siler. |
isAvailable?() | Depolamanın kullanılıp kullanılamayacağını senkron olarak bildirir. |
clear?() / close?() | İsteğe bağlı boşaltma ve temizlik. |
coordinationKey? | Aynı temel depolamanın sarmalayıcılarının paylaştığı nesne. |