1. الرئيسية
  2. مسارات التعلم
  3. تعلم React من الصفر بالعربية
  4. useEffect والتأثيرات الجانبية في React ومشروع ختامي متكامل
تعلم React من الصفر بالعربيةالدرس 5 من 5

useEffect والتأثيرات الجانبية في React ومشروع ختامي متكامل

الدرس الأخير في دورة React: متى تستخدم useEffect، ومصفوفة الاعتماديات، والتنظيف، والمؤقتات، والأخطاء الشائعة، ثم الخطوات التالية: Vite وNext.js وبناء مشروعك الأول.

محتويات الدرس
  1. الشكل العام
  2. ساعة حية مع تنظيف
  3. التأثير المرتبط بقيمة
  4. خطأ شائع: الحلقة اللانهائية
  5. الخطوات التالية بعد هذه الدورة
  6. المشروع الختامي

التأثير الجانبي أي شيء يحدث خارج رسم الواجهة: مؤقت، طلب من خادم، تغيير عنوان الصفحة، حفظ في المتصفح. لهذه الأشياء نستخدم useEffect.

الشكل العام

jsx
useEffect(() => {
  // الكود الذي يعمل بعد العرض
  return () => {
    // التنظيف (اختياري)
  };
}, [اعتماديات]);
الاعتماديات متى يعمل؟
بدون مصفوفة بعد كل عرض
[] مرة واحدة عند الظهور
[q] عند الظهور وكلما تغيرت q

ساعة حية مع تنظيف

جرّب بنفسكReact 18 يعمل في متصفحك

اضغط «تشغيل» لترى النتيجة هنا.

أخفِ الساعة وراقب وحدة التحكم: دالة التنظيف تمنع تسرب المؤقتات.

التأثير المرتبط بقيمة

جرّب بنفسكReact 18 يعمل في متصفحك

اضغط «تشغيل» لترى النتيجة هنا.

خطأ شائع: الحلقة اللانهائية

إذا غيّرت داخل useEffect حالة موجودة في اعتمادياته دون شرط، فسيعمل التأثير بلا توقف. اسأل نفسك دائمًا: هل أحتاج تأثيرًا أصلًا؟ القيم المحسوبة من الحالة (مثل list أعلاه) لا تحتاج useEffect.

الخطوات التالية بعد هذه الدورة

  • مشروع حقيقي: npm create vite@latest ثم اختر React. تحتاج Node.js مثبتًا.
  • التوجيه بين الصفحات: React Router.
  • إطار كامل: Next.js للمواقع التي تهمها سرعة التحميل والسيو.
  • الطلبات من الخادم: fetch داخل useEffect، أو مكتبة مثل TanStack Query.

المشروع الختامي

في ملعب React ابنِ «محوّل عملات» صغيرًا:

  1. حقل للمبلغ وقائمة للعملة.
  2. النتيجة تُحسب مباشرة عند الكتابة.
  3. سجّل في وحدة التحكم كل تغيير للعملة باستخدام useEffect مع الاعتمادية المناسبة.
  4. نزّل المشروع ملف HTML جاهزًا، ثم أجب عن اختبار الدورة.