diff --git a/web/src/hooks/useNavigateTo.ts b/web/src/hooks/useNavigateTo.ts index 916f47105..ae40c7b0a 100644 --- a/web/src/hooks/useNavigateTo.ts +++ b/web/src/hooks/useNavigateTo.ts @@ -1,18 +1,22 @@ +import { useCallback } from "react"; import { NavigateOptions, useNavigate } from "react-router-dom"; const useNavigateTo = () => { const navigateTo = useNavigate(); - const navigateToWithViewTransition = (to: string, options?: NavigateOptions) => { - const doc = window.document as unknown as Document & { startViewTransition?: (callback: () => void) => void }; - if (!doc.startViewTransition) { - navigateTo(to, options); - } else { - document.startViewTransition(() => { + const navigateToWithViewTransition = useCallback( + (to: string, options?: NavigateOptions) => { + const doc = window.document as unknown as Document & { startViewTransition?: (callback: () => void) => void }; + if (!doc.startViewTransition) { navigateTo(to, options); - }); - } - }; + } else { + document.startViewTransition(() => { + navigateTo(to, options); + }); + } + }, + [navigateTo], + ); return navigateToWithViewTransition; };