شرح صفوف ومحتوى الفقرة
تحوّل مكونات React النقية الخصائص والحالة إلى عناصر JSX، بينما تستجيب معالجات الأحداث لنقرات محددة كالضغط على زر الحفظ. لكن بعض المكونات تحتاج إلى البقاء متزامنة مع أنظمة خارجية تقع خارج سيطرة React — مثل تحديث عنوان تبويب المتصفح document.title، أو مزامنة تفضيل المستخدم في localStorage، أو الاتصال بغرفة محادثة حية — لمجرد وجود المكون معروضاً على الشاشة.
يتيح خطاف useEffect(setup, dependencies) تنفيذ هذه التأثيرات الجانبية التزامنية بأمان خارج جسم التصيير النقي.
HTML
const [unread, setUnread] = useState(2);
useEffect(() => {
document.title = '(' + unread + ') CloseTag Inbox';
}, [unread]);