restate / v1.0.0

Referensi API

Setiap ekspor @kkwaenggwari/restate 1.0 beserta argumen, nilai kembalian, dan perilakunya.

Di halaman iniEksporMetode storeMetode store tersimpanOpsi persistedRestateField statusrestateManager dan scope.managerAntarmuka adaptor penyimpanan

Ekspor

Semuanya diimpor dari @kkwaenggwari/restate, di web dan React Native.

EksporMengembalikanUntuk
restate(initial, updater | options?)Hook storeMembuat store bersama di memori.
persistedRestate(initial, options)Hook store tersimpanMembuat store yang dipulihkan dari dan disimpan ke penyimpanan.
useRestateScope(factory?)Hasil factory atau scopeMemiliki store di dalam komponen; dihancurkan setelah unmount.
createRestateScope()RestateScopeMemiliki store di luar React; panggil destroy() di akhir.
shallow(left, right)booleanMembandingkan pilihan sedalam satu tingkat.
batch(callback)Hasil callbackMemberi tahu pelanggan sekali setelah beberapa perubahan.
restateManagerRestateManagerMenunggu data saat mulai dan menjalankan operasi massal pada store global.
createIndexedDBStorage(options?)RestateStorageMembuat adaptor IndexedDB dengan nama database atau store sendiri.
createMMKVStorage(options?)RestateStorageMembuat adaptor MMKV dengan instans atau konfigurasi sendiri.

Metode store

Store adalah fungsi yang Anda panggil sebagai hook, dengan metode-metode ini.

AnggotaDeskripsi
useStore()Mengembalikan seluruh nilai dan dirender ulang pada setiap perubahan.
useStore(selector, isEqual?)Mengembalikan pilihan; dirender ulang saat isEqual (bawaan Object.is) melaporkan perubahan.
get()Nilai saat ini tanpa berlangganan.
set(value | updater)Mengganti nilai atau menghitungnya dari yang sebelumnya. Diabaikan setelah destroy().
reset()Memulihkan nilai awal yang dideklarasikan dan mengembalikannya.
subscribe(listener)Memanggil listener(value, previous, event) setelah setiap perubahan; mengembalikan fungsi berhenti berlangganan.
subscribeSelector(selector, listener, isEqual?)Memanggil listener hanya saat pilihan berubah.
on(type, listener)Mendengarkan event seperti change, reset, save, atau error.
start() / stop() / isRunning()Kendali manual atas updater.
destroy() / isDestroyed()Melepas listener dan updater. Langganan berikutnya melempar STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Nilai awal, snapshot server, dan kesalahan listener terakhir.
id / kindid unik; memory atau persistent.

Metode store tersimpan

persistedRestate mengembalikan store dengan anggota tambahan ini.

AnggotaDeskripsi
readyPromise yang terpenuhi saat pemuatan otomatis selesai, bahkan jika gagal. Periksa status().
save()Menulis nilai saat ini; terpenuhi dengan nilai yang benar-benar ditulis.
restore()Membaca nilai tersimpan ke memori.
hasSaved()Apakah ada catatan tersimpan.
clearStorage()Menghapus catatan tersimpan; memori tidak berubah.
resetAndClearStorage()Mengatur ulang memori ke nilai awal dan menghapus catatan tersimpan.
initialize()Memuat lagi, misalnya setelah memperbaiki catatan yang gagal.
status()Snapshot status yang dibekukan; objek yang sama sampai ada field yang berubah.
useStatus(selector?, isEqual?)Hook yang dirender ulang saat status atau bagian yang dipilihnya berubah.
key / storageKey / storageKey logis, key dengan namespace, dan adaptor yang dipakai.

Opsi persistedRestate

key wajib. Semua opsi lain opsional.

OpsiBawaanArti
keywajibKey logis catatan.
namespace"@kkwaenggwari/restate"Prefiks key tersimpan; string kosong menonaktifkannya.
storageIndexedDB / MMKVAdaptor pengganti bawaan platform.
autoSavefalsetrue menyimpan setelah setiap perubahan; { delayMs } menunggu jeda.
version / migrate1 / tidak adaVersi catatan dan cara meningkatkan catatan lama.
validatetidak adaMemeriksa nilai sebelum menyimpan dan setelah pemulihan atau migrasi.
serializerJSONFungsi serialize dan deserialize sendiri.
operationTimeoutMs30000Waktu terlama operasi penyimpanan.
maxPendingOperations256Operasi tertunda yang diizinkan, termasuk yang aktif.
maxStorageCharacters5242880Nilai terenkode terbesar dalam unit kode UTF-16.
updater / managed / serverSnapshot / onError—Sama seperti opsi restate.

Field status

status() dan useStatus() mengembalikan field-field ini.

FieldArti
readyPemuatan otomatis telah selesai.
dirtyMemori berbeda dari nilai terakhir yang dimuat, disimpan, atau dipulihkan.
operationOperasi penyimpanan saat ini atau null.
pendingOperasi penyimpanan yang belum selesai, termasuk yang aktif.
blockedPanggilan adaptor yang dibatalkan atau habis waktu belum selesai.
availableApakah penyimpanan dapat dipakai.
error / observerErrorKesalahan penyimpanan terakhir; kesalahan listener status terakhir.
lastSavedAt / lastRestoredAtMilidetik epoch keberhasilan terakhir atau null.

restateManager dan scope.manager

Setiap manager melacak store tersimpan yang terdaftar padanya.

AnggotaDeskripsi
readyMenunggu store yang terdaftar saat diakses; menolak dengan BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Menjalankan save atau restore di setiap store; { concurrency } membatasi kerja paralel.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Membersihkan catatan, mengatur ulang memori, atau keduanya.
list() / get(idOrKey) / size()Inspeksi store yang terdaftar.
subscribe(listener) / status()Mengamati event manager dan kesalahan listener.
destroyAll()Menghancurkan setiap store yang terdaftar.

Antarmuka adaptor penyimpanan

Berikan objek dengan metode-metode ini sebagai storage. Setiap metode boleh mengembalikan nilai atau Promise.

MetodeDeskripsi
getItem(key, context?)Mengembalikan string tersimpan atau null.
setItem(key, value, context?)Menyimpan string.
removeItem(key, context?)Menghapus catatan.
isAvailable?()Melaporkan secara sinkron apakah penyimpanan dapat dipakai.
clear?() / close?()Flush dan pembersihan opsional.
coordinationKey?Objek yang dibagikan oleh pembungkus dari penyimpanan dasar yang sama.

Cari dokumentasi

Cari di judul, deskripsi, dan isi semua panduan.