@suspensive/react
Version:
Suspensive interfaces for react
16 lines (14 loc) • 447 B
JavaScript
let react = require("react");
//#region src/hooks/useTimeout.ts
const useTimeout = (fn, ms) => {
const fnRef = (0, react.useRef)(fn);
fnRef.current = fn;
const fnPreserved = (0, react.useCallback)(() => fnRef.current(), []);
(0, react.useEffect)(() => {
const id = setTimeout(fnPreserved, ms);
return () => clearTimeout(id);
}, [fnPreserved, ms]);
};
//#endregion
exports.useTimeout = useTimeout;
//# sourceMappingURL=useTimeout.cjs.map