الكتابة · فصل ٥

استعلام مستني استعلام

enabled · dependent query
🎯 الهدف: متجبش الدرجات قبل ما رقم الطالب يبقى موجود.

ساعات الطلب التاني محتاج ناتج الأول. تجيب الطالب، وبعدين درجاته برقمه.

grades-after-student.jsx
const { data: student } = useQuery({  queryKey: ["student", studentId],  queryFn: () => getStudent(studentId),});const { data: grades } = useQuery({  queryKey: ["grades", student?.id],  queryFn: () => getGrades(student.id),  enabled: !!student?.id,});

enabled هو مفتاح التشغيل. طالما رقم الطالب مش موجود، الاستعلام التاني ما يبدأش. أول ما الرقم ييجي، المفتاح يتكمّل والدرجات تتجاب.

من غيره، دالة الجلب تنادي وهي لسه من غير رقم، والطلب يروح ناقص أو يقع.

نفس العلم ينفع لأي شرط: المستخدم مسجّل، الفلتر اتكتب، الصفحة ظاهرة. الاستعلام موجود في الكود، بس واقف لحد ما الشرط يصح.

خلّصت الفصل لما

🧠 اختبر نفسك
١) الطالب لسه بيتحمّل. استعلام الدرجات يعمل طلب؟
لأ، طالما enabled مربوط بوجود الرقم.
٢) ليه رقم الطالب جوه مفتاح الدرجات؟
عشان كل طالب له رف درجات لوحده، ولما الرقم يتغير الداتا تتغير معاه.
٣) enabled نفع لإيه غير التسلسل؟
أي شرط يمنع الجلب: جلسة، فلتر، أو ظهور الصفحة.