restate / v1.0.0

ข้อมูลอ้างอิง API

ทุก export ของ @kkwaenggwari/restate 1.0 พร้อมอาร์กิวเมนต์ ค่าที่คืน และพฤติกรรม

ในหน้านี้Exportเมธอดของ storeเมธอดของ store แบบบันทึกตัวเลือกของ persistedRestateฟิลด์สถานะrestateManager และ scope.managerอินเทอร์เฟซของอะแดปเตอร์ที่จัดเก็บข้อมูล

Export

ทุกอย่าง import จาก @kkwaenggwari/restate ทั้งบนเว็บและ React Native

Exportคืนค่าใช้สำหรับ
restate(initial, updater | options?)hook ของ storeสร้าง store ที่ใช้ร่วมกันในหน่วยความจำ
persistedRestate(initial, options)hook ของ store แบบบันทึกสร้าง store ที่กู้คืนจากและบันทึกลงที่จัดเก็บข้อมูล
useRestateScope(factory?)ผลลัพธ์ของ factory หรือ scopeถือครอง store ภายในคอมโพเนนต์ ถูกทำลายหลัง unmount
createRestateScope()RestateScopeถือครอง store นอก React เรียก destroy() ตอนจบ
shallow(left, right)booleanเปรียบเทียบส่วนที่เลือกลึกหนึ่งระดับ
batch(callback)ผลลัพธ์ของ callbackแจ้งผู้สมัครรับครั้งเดียวหลังการเปลี่ยนแปลงหลายครั้ง
restateManagerRestateManagerรอข้อมูลตอนเริ่มต้นและรันการทำงานแบบกลุ่มกับ store ส่วนกลาง
createIndexedDBStorage(options?)RestateStorageสร้างอะแดปเตอร์ IndexedDB ด้วยชื่อฐานข้อมูลหรือ store ของคุณเอง
createMMKVStorage(options?)RestateStorageสร้างอะแดปเตอร์ MMKV ด้วยอินสแตนซ์หรือการกำหนดค่าของคุณเอง

เมธอดของ store

store คือฟังก์ชันที่คุณเรียกแบบ hook พร้อมเมธอดเหล่านี้

สมาชิกคำอธิบาย
useStore()คืนค่าทั้งหมดและเรนเดอร์ใหม่ทุกครั้งที่เปลี่ยน
useStore(selector, isEqual?)คืนส่วนที่เลือก เรนเดอร์ใหม่เมื่อ isEqual (ค่าเริ่มต้น Object.is) รายงานว่าเปลี่ยน
get()ค่าปัจจุบันโดยไม่สมัครรับ
set(value | updater)แทนที่ค่าหรือคำนวณจากค่าก่อนหน้า ถูกเพิกเฉยหลัง destroy()
reset()คืนค่าเริ่มต้นที่ประกาศไว้และส่งคืนค่านั้น
subscribe(listener)เรียก listener(value, previous, event) หลังทุกการเปลี่ยนแปลง คืนฟังก์ชันเลิกสมัครรับ
subscribeSelector(selector, listener, isEqual?)เรียก listener เฉพาะเมื่อส่วนที่เลือกเปลี่ยน
on(type, listener)ฟังเหตุการณ์อย่าง change, reset, save หรือ error
start() / stop() / isRunning()ควบคุม updater ด้วยตนเอง
destroy() / isDestroyed()ปล่อย listener และ updater การสมัครรับหลังจากนั้นจะโยน STORE_DESTROYED
getInitial() / getServerSnapshot() / getError()ค่าเริ่มต้น สแนปช็อตจากเซิร์ฟเวอร์ และข้อผิดพลาดของ listener ล่าสุด
id / kindid ที่ไม่ซ้ำ memory หรือ persistent

เมธอดของ store แบบบันทึก

persistedRestate คืน store ที่มีสมาชิกเพิ่มเติมเหล่านี้

สมาชิกคำอธิบาย
readyPromise ที่สำเร็จเมื่อการโหลดอัตโนมัติจบ แม้จะล้มเหลวก็ตาม ให้ตรวจสอบ status()
save()เขียนค่าปัจจุบัน สำเร็จพร้อมค่าที่ถูกเขียนจริง
restore()อ่านค่าที่บันทึกไว้เข้าหน่วยความจำ
hasSaved()มีระเบียนที่บันทึกไว้หรือไม่
clearStorage()ลบระเบียนที่บันทึกไว้ หน่วยความจำไม่เปลี่ยน
resetAndClearStorage()รีเซ็ตหน่วยความจำเป็นค่าเริ่มต้นและลบระเบียนที่บันทึกไว้
initialize()โหลดอีกครั้ง เช่น หลังแก้ไขระเบียนที่ล้มเหลว
status()สแนปช็อตสถานะที่ถูกแช่แข็ง เป็นออบเจกต์เดิมจนกว่าฟิลด์ใดจะเปลี่ยน
useStatus(selector?, isEqual?)hook ที่เรนเดอร์ใหม่เมื่อสถานะหรือส่วนที่เลือกของมันเปลี่ยน
key / storageKey / storagekey เชิงตรรกะ key ที่มี namespace และอะแดปเตอร์ที่ใช้อยู่

ตัวเลือกของ persistedRestate

key จำเป็นต้องระบุ ตัวเลือกอื่นทั้งหมดไม่บังคับ

ตัวเลือกค่าเริ่มต้นความหมาย
keyจำเป็นkey เชิงตรรกะของระเบียน
namespace"@kkwaenggwari/restate"คำนำหน้าของ key ที่บันทึก สตริงว่างจะปิดมัน
storageIndexedDB / MMKVอะแดปเตอร์แทนค่าเริ่มต้นของแพลตฟอร์ม
autoSavefalsetrue บันทึกหลังทุกการเปลี่ยนแปลง { delayMs } รอจังหวะหยุด
version / migrate1 / ไม่มีเวอร์ชันของระเบียนและวิธีอัปเกรดระเบียนเก่า
validateไม่มีตรวจสอบค่าก่อนบันทึกและหลังกู้คืนหรือย้ายรูปแบบ
serializerJSONฟังก์ชัน serialize และ deserialize ของคุณเอง
operationTimeoutMs30000เวลาสูงสุดของการทำงานกับที่จัดเก็บข้อมูล
maxPendingOperations256จำนวนงานที่รอได้ รวมงานที่กำลังทำ
maxStorageCharacters5242880ค่าที่เข้ารหัสแล้วที่ใหญ่ที่สุด เป็นหน่วยโค้ด UTF-16
updater / managed / serverSnapshot / onError—เหมือนตัวเลือกของ restate

ฟิลด์สถานะ

status() และ useStatus() คืนฟิลด์เหล่านี้

ฟิลด์ความหมาย
readyการโหลดอัตโนมัติจบแล้ว
dirtyหน่วยความจำต่างจากค่าที่โหลด บันทึก หรือกู้คืนล่าสุด
operationการทำงานกับที่จัดเก็บข้อมูลปัจจุบัน หรือ null
pendingการทำงานกับที่จัดเก็บข้อมูลที่ยังไม่เสร็จ รวมงานที่กำลังทำ
blockedการเรียกอะแดปเตอร์ที่ถูกยกเลิกหรือหมดเวลายังไม่จบ
availableใช้ที่จัดเก็บข้อมูลได้หรือไม่
error / observerErrorข้อผิดพลาดของที่จัดเก็บข้อมูลล่าสุด ข้อผิดพลาดของ listener สถานะล่าสุด
lastSavedAt / lastRestoredAtมิลลิวินาที epoch ของความสำเร็จครั้งล่าสุด หรือ null

restateManager และ scope.manager

manager แต่ละตัวติดตาม store แบบบันทึกที่ลงทะเบียนไว้กับมัน

สมาชิกคำอธิบาย
readyรอ store ที่ลงทะเบียนอยู่ ณ ตอนเข้าถึง ปฏิเสธด้วย BULK_OPERATION_FAILED
saveAll(options?) / restoreAll(options?)รัน save หรือ restore กับทุก store { concurrency } จำกัดงานคู่ขนาน
clearStorageAll() / resetAll() / resetAllAndClearStorage()ล้างระเบียน รีเซ็ตหน่วยความจำ หรือทั้งสองอย่าง
list() / get(idOrKey) / size()ตรวจดู store ที่ลงทะเบียน
subscribe(listener) / status()สังเกตเหตุการณ์ของ manager และข้อผิดพลาดของ listener
destroyAll()ทำลายทุก store ที่ลงทะเบียน

อินเทอร์เฟซของอะแดปเตอร์ที่จัดเก็บข้อมูล

ส่งออบเจกต์ที่มีเมธอดเหล่านี้เป็น storage แต่ละเมธอดคืนค่าหรือ Promise ก็ได้

เมธอดคำอธิบาย
getItem(key, context?)คืนสตริงที่บันทึกไว้หรือ null
setItem(key, value, context?)บันทึกสตริง
removeItem(key, context?)ลบระเบียน
isAvailable?()รายงานแบบซิงโครนัสว่าใช้ที่จัดเก็บข้อมูลได้หรือไม่
clear?() / close?()การ flush และการเก็บกวาดที่เป็นตัวเลือก
coordinationKey?ออบเจกต์ที่ตัวห่อของที่จัดเก็บข้อมูลพื้นฐานเดียวกันใช้ร่วมกัน

ค้นหาเอกสาร

ค้นหาในชื่อเรื่อง คำอธิบาย และเนื้อหาของคู่มือทั้งหมด