Files
mtdb_movie/common/resources/client/utils/hooks/use-navigate.ts
T
maher 511fad8199
Build / run (push) Has been cancelled
Initial commit
2026-05-14 13:42:10 +02:00

28 lines
682 B
TypeScript
Executable File

import {
createPath,
NavigateFunction,
resolvePath,
useLocation,
useNavigate as useRouterNavigate
} from 'react-router-dom';
import {useCallback} from 'react';
export function useNavigate() {
const routerNavigate = useRouterNavigate();
const location = useLocation();
return useCallback(
(to, options) => {
// prevent duplicates in history when navigating to the same url
const replace =
createPath(location) === createPath(resolvePath(to, location.pathname));
routerNavigate(to, {
...options,
replace: options?.replace !== false && replace,
});
},
[routerNavigate, location]
) as NavigateFunction;
}