From 9d0a4c9694714e959ccfa23c5db4013b4375b4a1 Mon Sep 17 00:00:00 2001 From: linhao Date: Thu, 27 Jul 2023 19:51:37 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96reactivity=E6=A8=A1?= =?UTF-8?q?=E5=9D=97createGetter=E5=A4=8D=E7=94=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/reactivity/src/baseHandlers.ts | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/packages/reactivity/src/baseHandlers.ts b/packages/reactivity/src/baseHandlers.ts index 2bb7ed7..8cfb182 100644 --- a/packages/reactivity/src/baseHandlers.ts +++ b/packages/reactivity/src/baseHandlers.ts @@ -16,23 +16,14 @@ const shallowReadonlyGet = createGetter(true, true); function createGetter(isReadonly = false, shallow = false) { return function get(target, key, receiver) { - const isExistInReactiveMap = () => - key === ReactiveFlags.RAW && receiver === reactiveMap.get(target); - - const isExistInReadonlyMap = () => - key === ReactiveFlags.RAW && receiver === readonlyMap.get(target); - - const isExistInShallowReadonlyMap = () => - key === ReactiveFlags.RAW && receiver === shallowReadonlyMap.get(target); - if (key === ReactiveFlags.IS_REACTIVE) { return !isReadonly; } else if (key === ReactiveFlags.IS_READONLY) { return isReadonly; } else if ( - isExistInReactiveMap() || - isExistInReadonlyMap() || - isExistInShallowReadonlyMap() + key === ReactiveFlags.RAW && + receiver === + (isReadonly ? (shallow ? shallowReadonlyMap : readonlyMap) : reactiveMap).get(target) ) { return target; }