شبكة تعلم مع ناو

ما فائدة useEffect في React؟

useEffect ينفّذ كودًا بعد عرض المكون، أو عندما تتغير قيم معينة. يُستخدم للأعمال “الجانبية”: جلب البيانات، والمؤقتات، والاشتراك في الأحداث.

import { useState, useEffect } from 'react';

function Profile({ userId }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    fetch(`/api/users/${userId}`)
      .then(res => res.json())
      .then(setUser);
  }, [userId]);  // run again when userId changes

  return <p>{user?.name}</p>;
}

قائمة الاعتماديات

  • []: مرة واحدة بعد أول عرض.
  • [userId]: كلما تغير userId.
  • دون قائمة: بعد كل عرض.

التنظيف

useEffect(() => {
  const id = setInterval(tick, 1000);
  return () => clearInterval(id);
}, []);

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.