شرح صفوف ومحتوى الفقرة
لا تُختار عناصر مصفوفة الاعتماديات عشوائياً، بل يجب إدراج كل قيمة تفاعلية تقرؤها دالة التأثير بداخلها (سواء كانت من props أو state أو متغيراً مشتقاً منهما داخل المكون) ضمن المصفوفة [dep1, dep2] دون إخفاء.
وعندما تتغير حالة أخرى غير مدرجة لأن التأثير لا يستخدمها — ككتابة مسودة رسالة بينما معرّف الغرفة roomId ثابت — تتخطى React إعادة تشغيل التأثير بكفاءة تامة.
HTML
useEffect(() => {
setSyncCount((c) => c + 1);
}, [roomId]);
// Typing in draft input never re-triggers room sync!