hasInjectionContext() التحقق من إمكانية inject بأمان

آخر تحديث: 2026-10-22

hasInjectionContext() التحقق من إمكانية inject بأمان

تحدّد hasInjectionContext() ما إذا كان السياق الحالي يسمح باستخدام inject (داخل setup أو المكوّن)، وتُستخدم كفحص مسبق عند كتابة الدوال المساعدة العامة.

المجموعةحقن التبعيات
النوعAPI
النطاقداخل المكوّن
إصدار Vue3.3+
دعم SSRمدعوم

📝 الصيغة

if (hasInjectionContext()) {
  const cfg = inject('config')
}

القيمة المُرجعة:قيمة منطقية

▶ مثال

عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:

المخرجات:

Shows 'Context available: true'.

💡 نقاط مهمة

ℹ️ ملاحظة عند كتابة المكتبات/الدوال المساعدة يُستطلع السياق أولًا لتجنّب استدعاء inject في بيئة غير مكونية وإصدار تحذير.
⚠️ تحذير متاحة من 3.3+ فقط؛ وفي المشاريع الأقدم يمكن البديل بـ «try/catch داخل setup» أو تمرير المعاملات صراحةً.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س ماذا يحدث دون استخدامها؟
ج استدعاء inject في بيئة غير مكونية يُصدر تحذيرًا ويُعيد undefined، وقد تُخطئ المنطق بصمت.
س من يستخدمها عادةً؟
ج مكتبات المكوّنات والدوال التركيبية: إذ تحتاج إلى دعم الإعدادات المحقونة معًا وإلى العمل في بيئة JS صرفة.
س هل تعني «داخل setup»؟
ج تقريبًا: تُعيد true في كل سياقات التشغيل التي يُسمح فيها بـ inject (بما فيها الدوال التركيبية العاملة داخل effectScope).
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%