أهم نقطة عشان متقعش في مشكلة تخزين نفس الداتا في أكتر من مكان.
| البيانات | النوع المناسب |
|---|---|
| قائمة المنتجات من الـ API | Server State — TanStack Query |
| تفاصيل منتج وسعره الحالي | Server State |
| عدد المنتجات في سلة محفوظة على السيرفر | Server State |
| فتح Modal إضافة للسلة | Local UI State |
| فلتر السعر والتصنيف | URL State |
| بيانات عنوان الشحن أثناء الكتابة | Form State |
| سلة Guest قبل تسجيل الدخول | Client-owned Domain State |
| نتيجة تطبيق Coupon من السيرفر | Server State |
| حالة إظهار Password | Local UI State |
كده هتضطر تحافظ على التزامن بين نسختين.
أما لو عندك Guest Cart، ممكن تخزنها محليًا. بعد تسجيل الدخول تعمل Merge مع السلة المحفوظة على السيرفر وفقًا لقواعد الـ Backend.
خلّصت الفصل لما
🧠 اختبر نفسك
١) نتيجة تطبيق الكوبون رجعت من السيرفر. نوعها إيه؟
Server State.
٢) ليه متخزنش سلة السيرفر في Zustand وفي TanStack Query مع بعض؟
هتبقى نسختين لنفس الداتا، ولازم تحافظ على التزامن بينهم.