UNPKG

hooks-me

Version:

<div align="center"> <h1>hooks-me</h1> <div>React useful hooks.</div>

26 lines (25 loc) 885 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var useIsVisible = function (ref, rootMargin) { if (rootMargin === void 0) { rootMargin = "0px"; } var _a = (0, react_1.useState)(false), isVisible = _a[0], setIsVisible = _a[1]; (0, react_1.useEffect)(function () { if (ref.current == null) { return; } var observer = new IntersectionObserver(function (_a) { var entry = _a[0]; return setIsVisible(entry.isIntersecting); }, { rootMargin: rootMargin }); observer.observe(ref.current); return function () { if (ref.current == null) { return; } observer.unobserve(ref.current); }; }, [ref.current, rootMargin]); return isVisible; }; exports.default = useIsVisible;