alinea
Version:
[](https://npmjs.org/package/alinea) [](https://packagephobia.com/result?p=alinea)
26 lines (24 loc) • 631 B
JavaScript
import "../../chunks/chunk-U5RRZUYZ.js";
// src/ui/hook/UseHash.ts
import { useCallback, useEffect, useState } from "react";
function useHash() {
const [hash, setHash] = useState(() => window.location.hash);
useEffect(() => {
function hashChange() {
setHash(window.location.hash);
}
window.addEventListener("hashchange", hashChange);
return () => window.removeEventListener("hashchange", hashChange);
}, []);
const _setHash = useCallback(
(newHash) => {
if (newHash !== hash)
window.location.hash = newHash;
},
[hash]
);
return [hash, _setHash];
}
export {
useHash
};