Add useCallback

This commit is contained in:
DefectingCat
2022-08-25 17:59:40 +08:00
parent 086da74721
commit 4767eb9995

View File

@ -1,5 +1,5 @@
import { useRouter } from 'next/router'; import { useRouter } from 'next/router';
import { useEffect, useState } from 'react'; import { useCallback, useEffect, useState } from 'react';
/** /**
* Loading state when router changed. * Loading state when router changed.
@ -9,12 +9,15 @@ const useRouterLoading = () => {
const router = useRouter(); const router = useRouter();
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const handleStart = (url: string) => { const handleStart = useCallback(
(url: string) => {
url !== router.pathname ? setLoading(true) : setLoading(false); url !== router.pathname ? setLoading(true) : setLoading(false);
}; },
const handleComplete = () => { [router.pathname]
);
const handleComplete = useCallback(() => {
setLoading(false); setLoading(false);
}; }, []);
useEffect(() => { useEffect(() => {
router.events.on('routeChangeStart', handleStart); router.events.on('routeChangeStart', handleStart);