refactor: skip destructuring when use with (#425)

This commit is contained in:
Chester 2019-11-05 23:45:04 +08:00 committed by Evan You
parent a02820d7e0
commit 2d5f9b58ac

View File

@ -65,6 +65,10 @@ const enum AccessTypes {
export const PublicInstanceProxyHandlers: ProxyHandler<any> = {
get(target: ComponentInternalInstance, key: string) {
// fast path for unscopables when using `with` block
if (__RUNTIME_COMPILE__ && (key as any) === Symbol.unscopables) {
return
}
const {
renderContext,
data,
@ -74,10 +78,6 @@ export const PublicInstanceProxyHandlers: ProxyHandler<any> = {
type,
sink
} = target
// fast path for unscopables when using `with` block
if (__RUNTIME_COMPILE__ && (key as any) === Symbol.unscopables) {
return
}
// This getter gets called for every property access on the render context
// during render and is a major hotspot. The most expensive part of this
// is the multiple hasOwn() calls. It's much faster to do a simple property