From 13b72317c5d2f8e73fb23edaeb6a0bc1cded1fdf Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=AD=8F?= <2553241022@qq.com> Date: Mon, 10 Jul 2023 18:17:26 +0800 Subject: [PATCH] refactor(reactivity): use hasChanged to avoid tracking NaN key twice (#7378) --- packages/reactivity/src/collectionHandlers.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/reactivity/src/collectionHandlers.ts b/packages/reactivity/src/collectionHandlers.ts index 381bbad6c2..1d07af3be8 100644 --- a/packages/reactivity/src/collectionHandlers.ts +++ b/packages/reactivity/src/collectionHandlers.ts @@ -27,7 +27,7 @@ function get( const rawTarget = toRaw(target) const rawKey = toRaw(key) if (!isReadonly) { - if (key !== rawKey) { + if (hasChanged(key, rawKey)) { track(rawTarget, TrackOpTypes.GET, key) } track(rawTarget, TrackOpTypes.GET, rawKey) @@ -50,7 +50,7 @@ function has(this: CollectionTypes, key: unknown, isReadonly = false): boolean { const rawTarget = toRaw(target) const rawKey = toRaw(key) if (!isReadonly) { - if (key !== rawKey) { + if (hasChanged(key, rawKey)) { track(rawTarget, TrackOpTypes.HAS, key) } track(rawTarget, TrackOpTypes.HAS, rawKey) -- 2.47.3