saleor-dashboard/src/hooks/useNavigator.ts

22 lines
540 B
TypeScript
Raw Normal View History

2019-06-19 14:40:52 +00:00
import useRouter from "use-react-router";
export type UseNavigatorResult = (
url: string,
replace?: boolean,
preserveQs?: boolean
) => void;
function useNavigator(): UseNavigatorResult {
const {
location: { search },
history
} = useRouter();
return (url: string, replace = false, preserveQs = false) => {
const targetUrl = preserveQs ? url + search : url;
replace ? history.replace(targetUrl) : history.push(targetUrl);
window.scrollTo({ top: 0, behavior: "smooth" });
};
}
export default useNavigator;