markRaw() وسم كائن كي لا يُوكَّع أبدًا

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

markRaw() وسم كائن كي لا يُوكَّع أبدًا

بعد وسم markRaw() للكائن لن يُوكَّع حتى لو وُضع داخل بنية تفاعلية، وهو مناسب لنسخ المكتبات الخارجية أو البيانات الثابتة الكبيرة.

المجموعةالتفاعلية: المتقدم
النوعAPI
النطاقداخل المكوّن
إصدار Vue3.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 تعني «هذا الكائن لا يُوكَّع أبدًا» — الأولى تدير الطبقة الخارجية والثانية كائنًا محددًا.
س هل ستتحدث البيانات بعد استخدامها؟
ج لا: فالكائن خارج نظام التفاعلية، وتعديلاته لا تُطلق العرض.
س هل يمكن التراجع عن الوسم؟
ج لا، فالوسم لا رجعة فيه؛ وإذا احتجت إلى تفاعلية فخزّن نسخة وكيل بديلة.
Web-Tutorial.com

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

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

100%