السؤال
عندي Feature اسمها add-to-cart بتتعامل مع Product، وفي نفس الوقت محتاجة تضيفه للـ Cart. المسؤوليات تتوزع كده.
Product Cardضغط Add to Cart
add-to-cartMutation وحالات التحميل
entities/cartطلب الإضافة للـ API
Backendحفظ العنصر
Query Cacheinvalidate وإعادة الجلب
Header والصفحةالعدد والإجمالي
- Product Card: المستخدم يضغط Add to Cart.
features/add-to-cart: الـ Mutation وحالات التحميل والخطأ.entities/cart: تنفيذ طلب إضافة المنتج للـ API.- Backend API: حفظ العنصر في السلة وإرجاع النتيجة.
- React Query Cache: تعطيل استعلام السلة وإعادة جلب الداتا.
- Header وصفحة Cart: عرض العدد والإجمالي والعناصر الجديدة.
add-to-cart لا تحتاج استيراد cart-page أو header أو حتى product-details.
كل جزء مسؤول عن نفسه. التواصل من خلال الـ Entity والـ Query Cache.
خلّصت الفصل لما
🧠 اختبر نفسك
١) add-to-cart تستورد صفحة السلة عشان تحدّثها؟
لأ. بعد نجاح الطلب الكاش يتحدّث، والصفحة تقرأ نفس الاستعلام.
٢) مين يبعت طلب إضافة المنتج للـ API؟
entities/cart. الفيتشر تشغّل الـ Mutation.