@@ -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