Skip to content

Commit ceed929

Browse files
committed
fix: use NodeJS.Timeout type and add undefined checks
1 parent e987dc2 commit ceed929

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/hooks/usePendingRoute.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@ const usePendingRoute = () => {
1717
const [pendingRoute, setPendingRoute] = useState<string | null>(null);
1818
const currentRoute = useRef<string | null>(null);
1919
useEffect(() => {
20-
let routeTransitionTimer: ReturnType<typeof setTimeout> | undefined =
21-
undefined;
20+
let routeTransitionTimer: NodeJS.Timeout | undefined = undefined;
2221

2322
const handleRouteChangeStart = (url: string) => {
24-
clearTimeout(routeTransitionTimer);
23+
if (routeTransitionTimer) clearTimeout(routeTransitionTimer);
2524
routeTransitionTimer = setTimeout(() => {
2625
if (currentRoute.current !== url) {
2726
currentRoute.current = url;
@@ -31,15 +30,15 @@ const usePendingRoute = () => {
3130
};
3231
const handleRouteChangeComplete = () => {
3332
setPendingRoute(null);
34-
clearTimeout(routeTransitionTimer);
33+
if (routeTransitionTimer) clearTimeout(routeTransitionTimer);
3534
};
3635
events.on('routeChangeStart', handleRouteChangeStart);
3736
events.on('routeChangeComplete', handleRouteChangeComplete);
3837

3938
return () => {
4039
events.off('routeChangeStart', handleRouteChangeStart);
4140
events.off('routeChangeComplete', handleRouteChangeComplete);
42-
clearTimeout(routeTransitionTimer);
41+
if (routeTransitionTimer) clearTimeout(routeTransitionTimer);
4342
};
4443
}, [events]);
4544

0 commit comments

Comments
 (0)