From 3371308822ae77d6e71dcd9ed2b624bc0b31a415 Mon Sep 17 00:00:00 2001 From: taichiyi Date: Sat, 22 Aug 2020 11:36:06 +0800 Subject: [PATCH] fix: shallowEqual(null, null) shold be true --- packages/nerv-utils/__tests__/shallow-equal.spec.js | 1 + packages/nerv-utils/src/shallow-equal.ts | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/nerv-utils/__tests__/shallow-equal.spec.js b/packages/nerv-utils/__tests__/shallow-equal.spec.js index d6c00a96..df2d8e5a 100644 --- a/packages/nerv-utils/__tests__/shallow-equal.spec.js +++ b/packages/nerv-utils/__tests__/shallow-equal.spec.js @@ -11,6 +11,7 @@ describe('shallowEqual', () => { const g = { a: 1, v: arr1 } expect(shallowEqual(a, b)).not.toBeTruthy() expect(shallowEqual(null, 110)).toBeFalsy() + expect(shallowEqual(null, null)).toBeTruthy() expect(shallowEqual(+0, -0)).toBeTruthy() expect(shallowEqual([], [1])).toBeFalsy() expect(shallowEqual(a, c)).toBeTruthy() diff --git a/packages/nerv-utils/src/shallow-equal.ts b/packages/nerv-utils/src/shallow-equal.ts index edc82ade..3aad3be5 100644 --- a/packages/nerv-utils/src/shallow-equal.ts +++ b/packages/nerv-utils/src/shallow-equal.ts @@ -8,12 +8,12 @@ Object.is = Object.is || function (x, y) { } export default function shallowEqual (obj1, obj2) { - if (obj1 === null || obj2 === null) { - return false - } if (Object.is(obj1, obj2)) { return true } + if (obj1 === null || obj2 === null) { + return false + } const obj1Keys = obj1 ? Object.keys(obj1) : [] const obj2Keys = obj2 ? Object.keys(obj2) : [] if (obj1Keys.length !== obj2Keys.length) {