عقود Store وقابلية التشغيل البيني
تعرّف على ما يجعل أي كائن Store صالحًا في Svelte، واستخدم Stores من جهات خارجية
عقود Store وقابلية التشغيل البيني درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
العقد
أي كائن ينفّذ subscribe(fn) ويُرجع دالة لإلغاء الاشتراك يُعدّ Svelte store.
أهمية ذلك
يعني هذا العقد البسيط أن العديد من مكتبات الجهات الخارجية يمكن استخدامها كـ Svelte stores مباشرةً.
RxJS Observables
تتوافق الدالة subscribe في RxJS Observable إذا غلّفتموها قليلًا.
المكتبات الذرّية
تعمل مكتبات مثل nanostores وzustand باستخدام adapters أو مباشرةً.
إنشاء stores متوافقة
بالنسبة إلى stores المخصّصة، ما عليكم سوى تنفيذ subscribe بطريقة صحيحة.
function myStore() {
let val = 0;
const subs = new Set();
return {
subscribe(fn) { fn(val); subs.add(fn); return () => subs.delete(fn); }
};
}الاستخدام مع $
إذا كان subscribe متوافقًا، فسيعمل الاختصار $ تلقائيًا.
المصادر غير المتزامنة
يمكن استدعاء callback الخاص بـ subscribe في أي وقت، بما في ذلك بشكل غير متزامن، مع قيم جديدة.
عمليات التحقق من التساوي
لا يفرض العقد إجراء عمليات تحقق من التساوي؛ إذ يستدعي Svelte المشتركين في كل مرة.
مشتركون متعددون
يجب أن يُخطِر store جميع المشتركين الحاليين. استخدموا Set أو Array.
التنظيف
أعيدوا دالة تنظيف حقيقية تزيل المشترك. وإلا فستتسببون في تسرّب.
مكتبات التكامل
استخدموا مكتبات مثل svelte-rxjs أو @nanostores/svelte للاستفادة من منظومات أكثر ثراءً.
تحقق سريع
ما الذي تُرجعه subscribe()؟
مراجعة
الـ stores ليست سوى كائنات تحتوي على دالة subscribe. ويجعل العقد التكامل مع المكتبات الأخرى سهلًا.
الأسئلة الشائعة
هل درس «عقود Store وقابلية التشغيل البيني» مجاني؟
نعم — نص درس «عقود Store وقابلية التشغيل البيني» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.
ماذا ستتعلم في «عقود Store وقابلية التشغيل البيني»؟
تعرّف على ما يجعل أي كائن Store صالحًا في Svelte، واستخدم Stores من جهات خارجية تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟
لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «عقود Store وقابلية التشغيل البيني»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟
نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- derived() لـ Stores المحسوبة
- نمط Store مخصص باستخدام subscribe/set/update
- قابل للقراءة انطلاقًا من قابل للكتابة
- عقود Store وقابلية التشغيل البيني