From d92f995743242a12830ae85d4356391864ae79fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A3=AB=E5=AD=90=E2=98=80=EF=B8=8F?= <84996057@qq.com> Date: Mon, 8 Jul 2024 21:12:47 +0800 Subject: [PATCH 1/3] fix: resolves depsEqual performance issues (#2577) (#2578) --- packages/hooks/src/createDeepCompareEffect/index.ts | 2 +- packages/hooks/src/utils/useDeepCompareWithTarget.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/hooks/src/createDeepCompareEffect/index.ts b/packages/hooks/src/createDeepCompareEffect/index.ts index eefdd6b39b..5bbaff74ed 100644 --- a/packages/hooks/src/createDeepCompareEffect/index.ts +++ b/packages/hooks/src/createDeepCompareEffect/index.ts @@ -10,9 +10,9 @@ export const createDeepCompareEffect: CreateUpdateEffect = (hook) => (effect, de const signalRef = useRef(0); if (deps === undefined || !depsEqual(deps, ref.current)) { - ref.current = deps; signalRef.current += 1; } + ref.current = deps; hook(effect, [signalRef.current]); }; diff --git a/packages/hooks/src/utils/useDeepCompareWithTarget.ts b/packages/hooks/src/utils/useDeepCompareWithTarget.ts index 89d685b4dd..2c84ff4e96 100644 --- a/packages/hooks/src/utils/useDeepCompareWithTarget.ts +++ b/packages/hooks/src/utils/useDeepCompareWithTarget.ts @@ -13,9 +13,9 @@ const useDeepCompareEffectWithTarget = ( const signalRef = useRef(0); if (!depsEqual(deps, ref.current)) { - ref.current = deps; signalRef.current += 1; } + ref.current = deps; useEffectWithTarget(effect, [signalRef.current], target); }; From 47403c16a03a5673191182f844b627769be1e3e6 Mon Sep 17 00:00:00 2001 From: longmo <63832356+long36708@users.noreply.github.com> Date: Mon, 8 Jul 2024 21:14:56 +0800 Subject: [PATCH 2/3] ci: "intall" word error,should "install" (#2587) --- .github/workflows/node-ci.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 48d0a91098..4e2d7adeb7 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -21,7 +21,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: pnpm run intall, build + - name: pnpm run install, build run: | pnpm run init env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 73f3a5c7c9..18eeb7bbe4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: pnpm run intall, build + - name: pnpm run install, build run: | pnpm run init From b2f12185963b7efe46ec70c97f661849f89892b5 Mon Sep 17 00:00:00 2001 From: xiaoyao <15558110117@163.com> Date: Mon, 8 Jul 2024 21:15:33 +0800 Subject: [PATCH 3/3] test: update useLatest test case (#2586) --- packages/hooks/src/useLatest/__tests__/index.test.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/hooks/src/useLatest/__tests__/index.test.ts b/packages/hooks/src/useLatest/__tests__/index.test.ts index 74044703ed..04ad36c4ec 100644 --- a/packages/hooks/src/useLatest/__tests__/index.test.ts +++ b/packages/hooks/src/useLatest/__tests__/index.test.ts @@ -18,11 +18,13 @@ describe('useLatest', () => { }); it('useLatest with reference variable should work', async () => { - const { result, rerender } = setUp({}); + const val1 = {}; + const { result, rerender } = setUp(val1); - expect(result.current.current).toEqual({}); + expect(result.current.current).toBe(val1); - rerender([]); - expect(result.current.current).toEqual([]); + const val2 = []; + rerender(val2); + expect(result.current.current).toBe(val2); }); });