$effect: التأثيرات الجانبية
شغّل التأثيرات الجانبية التي تُعاد عند كل تغيّر في تبعياتها التفاعلية.
$effect: التأثيرات الجانبية درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
Rune للآثار الجانبية
استخدم $effect(() => { ... }) للآثار الجانبية التي تستجيب للتغييرات التفاعلية.
$effect(() => {
console.log("count is", count);
});التتبع التلقائي
يتتبع Svelte التبعيات داخل الاستدعاء تلقائيًا.
دالة التنظيف
أعد دالة لتنفيذ التنظيف قبل التشغيل التالي أو عند التدمير.
$effect(() => {
const id = setInterval(tick, 1000);
return () => clearInterval(id);
});يعمل بعد التركيب
يعمل التأثير بعد تركيب المكوّن وعند كل تغيير في التبعيات.
من دون SSR
لا تعمل استدعاءات $effect أثناء SSR. استخدمها للمنطق الخاص بالمتصفح.
تأثيرات ما قبل التركيب
يعمل $effect.pre قبل تحديثات DOM، وهو مفيد لأنماط القياس ثم التطبيق.
التأثيرات الجذرية
ينشئ $effect.root تأثيرًا خارج دورة حياة المكوّن للحالات المتقدمة.
مقارنةً بـ onMount
يعمل onMount مرة واحدة، بينما يعيد $effect التشغيل عند تغير التبعيات. وغالبًا ما يستبدل $effect كلاً من onMount وأنماط التفاعلية.
تجنب ضبط الحالة
قد يؤدي تغيير الحالة التفاعلية داخل تأثير إلى حلقات لا نهائية. استخدم $derived للقيم المحسوبة بدلًا من ذلك.
القراءات غير المتتبَّعة
استخدم untrack() داخل تأثير لقراءة قيمة من دون تسجيل تبعية.
حالات الاستخدام الفعلية
التسجيل، والمزامنة مع localStorage، والتكامل مع مكتبات خارجية، وإجراء تعديلات يدوية على DOM.
اختبار سريع
كيف تنظّف تأثيرًا؟
مراجعة
يتولى $effect الآثار الجانبية، ويتتبّع التبعيات، ويدعم التنظيف من خلال الدوال المُعادة.
الأسئلة الشائعة
هل درس «$effect: التأثيرات الجانبية» مجاني؟
نعم — نص درس «$effect: التأثيرات الجانبية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
ماذا ستتعلم في «$effect: التأثيرات الجانبية»؟
شغّل التأثيرات الجانبية التي تُعاد عند كل تغيّر في تبعياتها التفاعلية. تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟
لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «$effect: التأثيرات الجانبية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟
نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا Runes: ما بعد سحر المصرّف
- $state: التفاعلية الدقيقة
- $derived: القيم المحسوبة التصريحية
- $effect: التأثيرات الجانبية