xLog/src/hooks/useHash.ts

23 lines
461 B
TypeScript

import { useCallback, useEffect, useState } from "react"
export function useHash() {
const [hash, setHash] = useState("")
const onHashChange = useCallback(() => {
setHash(window.location.hash)
}, [])
useEffect(() => {
setHash(window.location.hash)
}, [])
useEffect(() => {
window.addEventListener("hashchange", onHashChange)
return () => {
window.removeEventListener("hashchange", onHashChange)
}
})
return hash
}