Skip to content

Commit 913d35b

Browse files
wei.xuexvxlb
authored andcommitted
chore: enhance useTrackedEffect type
1 parent a80979e commit 913d35b

File tree

1 file changed

+5
-5
lines changed
  • packages/hooks/src/useTrackedEffect

1 file changed

+5
-5
lines changed

packages/hooks/src/useTrackedEffect/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import type { DependencyList } from 'react';
22
import { useEffect, useRef } from 'react';
33

4-
type Effect = (
4+
type Effect<T extends any[]> = (
55
changes?: number[],
6-
previousDeps?: DependencyList,
7-
currentDeps?: DependencyList,
6+
previousDeps?: [...T],
7+
currentDeps?: [...T],
88
) => void | (() => void);
99

1010
const diffTwoDeps = (deps1?: DependencyList, deps2?: DependencyList) => {
@@ -20,8 +20,8 @@ const diffTwoDeps = (deps1?: DependencyList, deps2?: DependencyList) => {
2020
: [];
2121
};
2222

23-
const useTrackedEffect = (effect: Effect, deps?: DependencyList) => {
24-
const previousDepsRef = useRef<DependencyList>();
23+
const useTrackedEffect = <T extends any[]>(effect: Effect<T>, deps?: [...T]) => {
24+
const previousDepsRef = useRef<T>();
2525

2626
useEffect(() => {
2727
const changes = diffTwoDeps(previousDepsRef.current, deps);

0 commit comments

Comments
 (0)