refactor: use markRaw instead of internal flag check
This commit is contained in:
parent
b228abb72f
commit
056ef2a7d2
@ -4,7 +4,8 @@ import {
|
||||
pauseTracking,
|
||||
resetTracking,
|
||||
shallowReadonly,
|
||||
proxyRefs
|
||||
proxyRefs,
|
||||
markRaw
|
||||
} from '@vue/reactivity'
|
||||
import {
|
||||
ComponentPublicInstance,
|
||||
@ -597,7 +598,7 @@ function setupStatefulComponent(
|
||||
instance.accessCache = Object.create(null)
|
||||
// 1. create public instance / render proxy
|
||||
// also mark it raw so it's never observed
|
||||
instance.proxy = new Proxy(instance.ctx, PublicInstanceProxyHandlers)
|
||||
instance.proxy = markRaw(new Proxy(instance.ctx, PublicInstanceProxyHandlers))
|
||||
if (__DEV__) {
|
||||
exposePropsOnRenderContext(instance)
|
||||
}
|
||||
|
@ -18,7 +18,6 @@ import {
|
||||
ReactiveEffect,
|
||||
toRaw,
|
||||
shallowReadonly,
|
||||
ReactiveFlags,
|
||||
track,
|
||||
TrackOpTypes,
|
||||
ShallowUnwrapRef,
|
||||
@ -268,11 +267,6 @@ export const PublicInstanceProxyHandlers: ProxyHandler<any> = {
|
||||
appContext
|
||||
} = instance
|
||||
|
||||
// let @vue/reactivity know it should never observe Vue public instances.
|
||||
if (key === ReactiveFlags.SKIP) {
|
||||
return true
|
||||
}
|
||||
|
||||
// for internal formatters to know that this is a Vue instance
|
||||
if (__DEV__ && key === '__isVue') {
|
||||
return true
|
||||
|
Loading…
Reference in New Issue
Block a user