File tree Expand file tree Collapse file tree 1 file changed +5
-5
lines changed
packages/hooks/src/useTrackedEffect Expand file tree Collapse file tree 1 file changed +5
-5
lines changed Original file line number Diff line number Diff line change 1
1
import type { DependencyList } from 'react' ;
2
2
import { useEffect , useRef } from 'react' ;
3
3
4
- type Effect = (
4
+ type Effect < T extends any [ ] > = (
5
5
changes ?: number [ ] ,
6
- previousDeps ?: DependencyList ,
7
- currentDeps ?: DependencyList ,
6
+ previousDeps ?: [ ... T ] ,
7
+ currentDeps ?: [ ... T ] ,
8
8
) => void | ( ( ) => void ) ;
9
9
10
10
const diffTwoDeps = ( deps1 ?: DependencyList , deps2 ?: DependencyList ) => {
@@ -20,8 +20,8 @@ const diffTwoDeps = (deps1?: DependencyList, deps2?: DependencyList) => {
20
20
: [ ] ;
21
21
} ;
22
22
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 > ( ) ;
25
25
26
26
useEffect ( ( ) => {
27
27
const changes = diffTwoDeps ( previousDepsRef . current , deps ) ;
You can’t perform that action at this time.
0 commit comments