markRaw() Mark an Object to Never Be Proxied

Last updated: 2026-10-22

markRaw() Mark an Object to Never Be Proxied

markRaw() marks an object so it is never proxied even inside reactive structures — for third-party instances or large static data.

GroupReactivity: Advanced
KindAPI
ScopeComponent
Vue Version3.0+
SSR SupportYes

📝 Syntax

const chart = markRaw(new Chart(el, opts))
const state = reactive({ chart })   // chart stays unproxied

⚙️ Arguments

valueAn object (flagged internally)

Returns:The same object

▶ Example

Edit the code below and see the live result:

Output:

Shows 'proxied? false' — the mark works.

💡 Key Points

💡 Tip Mark third-party instances (charts, editors, maps) before putting them into reactive state.
⚠️ Warning The mark is permanent and disables reactivity for that object.
ℹ️ Note Good for large static data such as city lists.
More case studies coming soon.

📚 Related Tutorials

❓ FAQ

Q Difference from shallowRef?
A shallowRef tracks replacement of the wrapper; markRaw exempts the object itself.
Q Will its data still update?
A No — it lives outside the reactivity system.
Q Can the mark be undone?
A No — create a separate reactive copy if needed.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏