markRaw() وسم كائن كي لا يُوكَّع أبدًا
آخر تحديث: 2026-10-22
markRaw() وسم كائن كي لا يُوكَّع أبدًا
بعد وسم markRaw() للكائن لن يُوكَّع حتى لو وُضع داخل بنية تفاعلية، وهو مناسب لنسخ المكتبات الخارجية أو البيانات الثابتة الكبيرة.
| المجموعة | التفاعلية: المتقدم |
|---|---|
| النوع | API |
| النطاق | داخل المكوّن |
| إصدار Vue | 3.0+ |
| دعم SSR | مدعوم |
📝 الصيغة
const chart = markRaw(new Chart(el, opts))
const state = reactive({ chart }) // لن يُوكَّع chart
⚙️ الوسائط
| value | كائن (يُوضع عليه وسم داخلي) |
|---|
القيمة المُرجعة:الكائن نفسه
▶ مثال
عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:
المخرجات:
Shows 'proxied? false' — the mark works.
💡 نقاط مهمة
💡 نصيحة وسم نسخ فئات المكتبات الخارجية (رسوم بيانية، محررات، خرائط) بـ markRaw قبل وضعها في حالة تفاعلية، لتجنّب السلوكيات الغريبة الناتجة عن الوكلاء.
⚠️ تحذير الوسم لا رجعة فيه ولا يستجيب الكائن بعده: فإذا احتجت إلى تزامنه مع التغييرات فلا تستخدم markRaw.
ℹ️ ملاحظة مناسبة للبيانات الكبيرة الثابتة (مثل قوائم المدن) لتجنّب كلفة وكلاء بلا داعٍ.
🏷️ المتقدم ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قريباً.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
س ما الفرق بينها وبين shallowRef؟
ج shallowRef تعني «الاستجابة للاستبدال الكامل فقط»، بينما markRaw تعني «هذا الكائن لا يُوكَّع أبدًا» — الأولى تدير الطبقة الخارجية والثانية كائنًا محددًا.
س هل ستتحدث البيانات بعد استخدامها؟
ج لا: فالكائن خارج نظام التفاعلية، وتعديلاته لا تُطلق العرض.
س هل يمكن التراجع عن الوسم؟
ج لا، فالوسم لا رجعة فيه؛ وإذا احتجت إلى تفاعلية فخزّن نسخة وكيل بديلة.