Playground

เปลี่ยนอินพุต ดูว่า restate ตอบสนองอย่างไร

การทดลองเจ็ดชุดรันแพ็กเกจจริง ตัวควบคุมทางซ้ายเป็นของเว็บไซต์นี้ ส่วนตัวอย่างทางขวารับเพียง props โค้ดของมันจึงตรงกับที่คุณจะเขียนเอง

ตัวควบคุม — สำหรับเว็บไซต์เท่านั้นprops — สะพานเชื่อมตัวอย่าง — โค้ดที่คุณคัดลอก
01

สองหน้าจอ หนึ่ง store

คอมโพเนนต์หลายตัวต้องการค่าเดียวกัน ประกาศครั้งเดียวแล้วอ่านได้ทุกที่

สิ่งที่ควรสังเกต
  • กดปุ่มขั้น: ผู้อ่านทุกตัวแสดงตัวเลขใหม่ในเวลาเดียวกัน
  • เปลี่ยนจำนวนผู้อ่าน: ผู้อ่านใหม่เริ่มจากค่าปัจจุบัน

กำลังเตรียมตัวอย่าง…

เริ่มต้นใช้งาน
02

เรนเดอร์เฉพาะที่เปลี่ยน

store ขนาดใหญ่ไม่ควรทำให้ทุกคอมโพเนนต์เรนเดอร์ใหม่ทุกครั้งที่มีการเปลี่ยนแปลง

สิ่งที่ควรสังเกต
  • แก้ไขบัตร: เรนเดอร์เฉพาะการ์ดที่อ่านทั้ง store
  • เพิ่มสินค้า: สินค้าและสรุปเรนเดอร์ การ์ดคูปองอยู่นิ่ง
  • ปิด shallow: สรุปจะเรนเดอร์ทุกครั้งที่เปลี่ยน เพราะ selector ของมันคืนออบเจกต์ใหม่ทุกครั้ง

กำลังเตรียมตัวอย่าง…

สมัครรับเฉพาะสิ่งที่คุณต้องการ
03

หลายการเปลี่ยนแปลง แจ้งครั้งเดียว

การอัปเดตสอง store ติดกันอาจทำให้ผู้สมัครรับเห็นสถานะที่ยังไม่เสร็จ

สิ่งที่ควรสังเกต
  • ล้างแยกกัน: ผู้สมัครรับเห็นสินค้า 0 ชิ้นคู่กับคูปองเดิม
  • ล้างด้วย batch: ผู้สมัครรับทำงานครั้งเดียวหลังทั้งสอง store เปลี่ยน

กำลังเตรียมตัวอย่าง…

สมัครรับเฉพาะสิ่งที่คุณต้องการ
04

บันทึกเมื่อคุณตัดสินใจ

การแก้ไขเปลี่ยนหน่วยความจำ การบันทึกเป็นการกระทำที่ชัดเจน และสถานะจะแสดงว่ากำลังเกิดอะไรขึ้น

สิ่งที่ควรสังเกต
  • พิมพ์: dirty เปิดขึ้นและยังไม่มีอะไรถูกเขียน
  • เพิ่มความหน่วงแล้วบันทึก: operation แสดง save ระหว่างที่กำลังเขียน
  • เล่นอีกครั้ง: ฉบับร่างที่บันทึกไว้ถูกกู้คืนจาก IndexedDB

กำลังเตรียมตัวอย่าง…

บันทึกเมื่อคุณตัดสินใจ
05

พิมพ์เร็ว เขียนครั้งเดียว

การบันทึกทุกครั้งที่กดแป้นจะท่วมที่จัดเก็บข้อมูล autoSave รอจังหวะหยุด

สิ่งที่ควรสังเกต
  • พิมพ์ประโยคหนึ่ง: การเปลี่ยนแปลงเพิ่มขึ้นเร็ว ขณะที่การเขียนเพิ่มทีละหนึ่งหลังการหยุดแต่ละครั้ง
  • เลือก "ทุกการเปลี่ยนแปลง": ทุกการเปลี่ยนแปลงจะถูกเขียน และการกลับไปที่ค่าที่บันทึกไว้จะไม่เขียนอะไรเลย

กำลังเตรียมตัวอย่าง…

บันทึกเมื่อคุณตัดสินใจ
06

ห้องทดลองความล้มเหลว

ทำให้ที่จัดเก็บข้อมูลช้า เสีย หรือใช้ไม่ได้ แล้วดูว่า restate รักษาข้อมูลของคุณและรายงานปัญหาอย่างไร

สิ่งที่ควรสังเกต
  • เพิ่มความหน่วงแล้วบันทึกสามครั้ง: คำขอใช้การเขียนร่วมกันครั้งเดียว pending จึงอยู่ที่ 1 และผลลัพธ์ทั้งสามมาถึงพร้อมกัน
  • เปิดการเขียนล้มเหลวแล้วบันทึก: dirty ยังเป็น true และ error แสดงสาเหตุ
  • ทำให้ที่จัดเก็บข้อมูลใช้ไม่ได้: การบันทึกถูกปฏิเสธด้วย STORAGE_UNAVAILABLE แต่การแก้ไขยังทำได้ต่อ

กำลังเตรียมตัวอย่าง…

น่าเชื่อถือตั้งแต่การออกแบบ
07

State ต่อเอกสาร

เอกสารที่เปิดอยู่แต่ละฉบับต้องมี state ของตัวเอง ซึ่งจะถูกปล่อยเมื่อปิดเอกสาร

สิ่งที่ควรสังเกต
  • พิมพ์ในเอกสาร A แล้วใน B: แต่ละฉบับเก็บข้อความของตัวเอง
  • ปิดเอกสาร A แล้วเปิดใหม่: มันเริ่มว่างเปล่าเพราะ scope ของมันถูกทำลายไปแล้ว

กำลังเตรียมตัวอย่าง…

State ที่เป็นของคอมโพเนนต์

ค้นหาเอกสาร

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