restate / v1.0.0

Tham chiếu API

Mọi export của @kkwaenggwari/restate 1.0, kèm đối số, giá trị trả về và hành vi.

Trên trang nàyExportPhương thức của storePhương thức của store được lưuTùy chọn của persistedRestateCác trường trạng tháirestateManager và scope.managerGiao diện adapter lưu trữ

Export

Mọi thứ được import từ @kkwaenggwari/restate, trên web và React Native.

ExportTrả vềDùng để
restate(initial, updater | options?)Hook storeTạo store dùng chung trong bộ nhớ.
persistedRestate(initial, options)Hook store được lưuTạo store được khôi phục từ và lưu vào bộ nhớ lưu trữ.
useRestateScope(factory?)Kết quả factory hoặc scopeSở hữu store bên trong component; bị hủy sau khi unmount.
createRestateScope()RestateScopeSở hữu store bên ngoài React; gọi destroy() khi xong.
shallow(left, right)booleanSo sánh phần chọn ở độ sâu một cấp.
batch(callback)Kết quả của callbackThông báo cho bên đăng ký một lần sau nhiều thay đổi.
restateManagerRestateManagerChờ dữ liệu khi khởi động và chạy thao tác hàng loạt trên store toàn cục.
createIndexedDBStorage(options?)RestateStorageTạo adapter IndexedDB với tên cơ sở dữ liệu hoặc store riêng.
createMMKVStorage(options?)RestateStorageTạo adapter MMKV với thể hiện hoặc cấu hình riêng.

Phương thức của store

Store là một hàm bạn gọi như hook, kèm các phương thức này.

Thành phầnMô tả
useStore()Trả về toàn bộ giá trị và render lại mỗi khi thay đổi.
useStore(selector, isEqual?)Trả về phần chọn; render lại khi isEqual (mặc định Object.is) báo có thay đổi.
get()Giá trị hiện tại, không đăng ký.
set(value | updater)Thay giá trị hoặc tính từ giá trị trước. Bị bỏ qua sau destroy().
reset()Khôi phục giá trị ban đầu đã khai báo và trả về nó.
subscribe(listener)Gọi listener(value, previous, event) sau mỗi thay đổi; trả về hàm hủy đăng ký.
subscribeSelector(selector, listener, isEqual?)Chỉ gọi listener khi phần chọn thay đổi.
on(type, listener)Lắng nghe các sự kiện như change, reset, save hoặc error.
start() / stop() / isRunning()Điều khiển thủ công updater.
destroy() / isDestroyed()Giải phóng listener và updater. Đăng ký sau đó sẽ ném STORE_DESTROYED.
getInitial() / getServerSnapshot() / getError()Giá trị ban đầu, snapshot máy chủ và lỗi listener gần nhất.
id / kindid duy nhất; memory hoặc persistent.

Phương thức của store được lưu

persistedRestate trả về store có thêm các thành phần này.

Thành phầnMô tả
readyPromise hoàn tất khi lần tải tự động kết thúc, kể cả khi thất bại. Hãy kiểm tra status().
save()Ghi giá trị hiện tại; hoàn tất với giá trị thực sự được ghi.
restore()Đọc giá trị đã lưu vào bộ nhớ.
hasSaved()Có bản ghi đã lưu hay không.
clearStorage()Xóa bản ghi đã lưu; bộ nhớ không đổi.
resetAndClearStorage()Đặt bộ nhớ về giá trị ban đầu và xóa bản ghi đã lưu.
initialize()Tải lại, ví dụ sau khi sửa một bản ghi bị lỗi.
status()Snapshot trạng thái đã đóng băng; vẫn là cùng đối tượng cho đến khi có trường thay đổi.
useStatus(selector?, isEqual?)Hook render lại khi trạng thái hoặc phần được chọn của nó thay đổi.
key / storageKey / storageKey logic, key có namespace và adapter đang dùng.

Tùy chọn của persistedRestate

key là bắt buộc. Mọi tùy chọn khác đều không bắt buộc.

Tùy chọnMặc địnhÝ nghĩa
keybắt buộcKey logic của bản ghi.
namespace"@kkwaenggwari/restate"Tiền tố của key được lưu; chuỗi rỗng sẽ tắt nó.
storageIndexedDB / MMKVAdapter thay cho mặc định của nền tảng.
autoSavefalsetrue lưu sau mỗi thay đổi; { delayMs } chờ một khoảng dừng.
version / migrate1 / không cóPhiên bản bản ghi và cách nâng cấp bản ghi cũ.
validatekhông cóKiểm tra giá trị trước khi lưu và sau khi khôi phục hoặc di chuyển.
serializerJSONHàm serialize và deserialize riêng.
operationTimeoutMs30000Thời gian tối đa của một thao tác lưu trữ.
maxPendingOperations256Số thao tác được phép chờ, tính cả thao tác đang chạy.
maxStorageCharacters5242880Giá trị mã hóa lớn nhất, tính bằng đơn vị mã UTF-16.
updater / managed / serverSnapshot / onError—Giống các tùy chọn của restate.

Các trường trạng thái

status() và useStatus() trả về các trường này.

TrườngÝ nghĩa
readyLần tải tự động đã kết thúc.
dirtyBộ nhớ khác với giá trị được tải, lưu hoặc khôi phục gần nhất.
operationThao tác lưu trữ hiện tại hoặc null.
pendingCác thao tác lưu trữ chưa xong, tính cả thao tác đang chạy.
blockedMột lời gọi adapter bị hủy hoặc hết thời gian vẫn chưa kết thúc.
availableCó dùng được bộ nhớ lưu trữ hay không.
error / observerErrorLỗi lưu trữ gần nhất; lỗi listener trạng thái gần nhất.
lastSavedAt / lastRestoredAtMili giây epoch của lần thành công gần nhất hoặc null.

restateManager và scope.manager

Mỗi manager theo dõi các store được lưu đã đăng ký với nó.

Thành phầnMô tả
readyChờ các store đã đăng ký tại thời điểm truy cập; từ chối với BULK_OPERATION_FAILED.
saveAll(options?) / restoreAll(options?)Chạy save hoặc restore trên mọi store; { concurrency } giới hạn công việc song song.
clearStorageAll() / resetAll() / resetAllAndClearStorage()Xóa bản ghi, đặt lại bộ nhớ, hoặc cả hai.
list() / get(idOrKey) / size()Kiểm tra các store đã đăng ký.
subscribe(listener) / status()Theo dõi sự kiện của manager và lỗi listener.
destroyAll()Hủy mọi store đã đăng ký.

Giao diện adapter lưu trữ

Truyền một đối tượng có các phương thức này làm storage. Mỗi phương thức có thể trả về giá trị hoặc Promise.

Phương thứcMô tả
getItem(key, context?)Trả về chuỗi đã lưu hoặc null.
setItem(key, value, context?)Lưu một chuỗi.
removeItem(key, context?)Xóa một bản ghi.
isAvailable?()Báo đồng bộ việc có dùng được bộ nhớ lưu trữ hay không.
clear?() / close?()Flush và dọn dẹp tùy chọn.
coordinationKey?Đối tượng dùng chung bởi các lớp bọc của cùng một bộ nhớ lưu trữ nền.

Tìm trong tài liệu

Tìm trong tiêu đề, mô tả và nội dung của mọi hướng dẫn.