เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ
กลไกการตอบสนองแบบ Observable ของ NocoBase นั้นโดยพื้นฐานแล้วคล้ายกับ MobX ครับ/ค่ะ ปัจจุบัน การใช้งานที่อยู่เบื้องหลังใช้ @formily/reactive ซึ่งมีไวยากรณ์และแนวคิดที่เข้ากันได้สูงกับ MobX เพียงแต่ไม่ได้ใช้ MobX โดยตรงด้วยเหตุผลทางประวัติศาสตร์ครับ/ค่ะ
ใน NocoBase 2.0 นั้น อ็อบเจกต์ตอบสนองแบบ Observable มีอยู่ทุกที่เลยครับ/ค่ะ มันเป็นหัวใจสำคัญของ Data Flow ที่อยู่เบื้องหลังและการตอบสนองของ UI ซึ่งถูกนำไปใช้อย่างแพร่หลายในส่วนต่างๆ เช่น FlowContext, FlowModel และ FlowStep ครับ/ค่ะ
NocoBase เลือกใช้ Observable แทนที่จะเป็นโซลูชันการจัดการสถานะ (State Management) อื่นๆ อย่าง Redux, Recoil, Zustand หรือ Jotai ด้วยเหตุผลหลักๆ ดังนี้ครับ/ค่ะ:
observer ครอบคอมโพเนนต์ คอมโพเนนต์ก็จะติดตามคุณสมบัติ Observable ที่ใช้งานอยู่โดยอัตโนมัติ และเมื่อข้อมูลมีการเปลี่ยนแปลง UI ก็จะรีเฟรชเองโดยที่คุณไม่ต้องจัดการการพึ่งพาด้วยตัวเองครับ/ค่ะobserver จะคอยฟังการเปลี่ยนแปลงของอ็อบเจกต์ Observable และจะทริกเกอร์การอัปเดตคอมโพเนนต์ React โดยอัตโนมัติเมื่อข้อมูลมีการเปลี่ยนแปลงครับ/ค่ะ สิ่งนี้ช่วยให้ UI ของคุณซิงค์กับข้อมูลอยู่เสมอ โดยที่คุณไม่จำเป็นต้องเรียกใช้ setState หรือเมธอดอัปเดตอื่นๆ ด้วยตัวเองครับ/ค่ะ
หากต้องการเรียนรู้การใช้งานแบบตอบสนองเพิ่มเติม สามารถดูได้จากเอกสารของ @formily/reactive ครับ/ค่ะ