شرح صفوف ومحتوى الفقرة
لإيقاف أي تأثير مستمر بنظافة، أعِد دالة تنظيف (Cleanup Function) من نهاية دالة useEffect بالشكل return () => { ... }. تستدعي React دالة التنظيف هذه تلقائياً في موضعين دقيقين:
- قبل إعادة تشغيل التأثير: عند تغير إحدى الاعتماديات تنفذ React تنظيف الدورة السابقة بقيمها القديمة أولاً قبل بدء الإعداد الجديد.
- عند إزالة المكون (Unmount): مرة أخيرة فور اختفاء المكون من شجرة الواجهة.
HTML
useEffect(() => {
onLog('+ Connected to #' + room);
return () => {
onLog('- Disconnected from #' + room);
};
}, [room]);