overleaf/services/web/frontend/js/shared/hooks/use-location.ts

26 lines
606 B
TypeScript
Raw Normal View History

import { useCallback, useMemo } from 'react'
import useIsMounted from './use-is-mounted'
export const useLocation = () => {
const isMounted = useIsMounted()
const assign = useCallback(
url => {
if (isMounted.current) {
// eslint-disable-next-line no-restricted-syntax
window.location.assign(url)
}
},
[isMounted]
)
const reload = useCallback(() => {
if (isMounted.current) {
// eslint-disable-next-line no-restricted-syntax
window.location.reload()
}
}, [isMounted])
return useMemo(() => ({ assign, reload }), [assign, reload])
}