23 lines
461 B
TypeScript
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
|
|
}
|