UNPKG

tdesign-react

Version:
45 lines (39 loc) 1.42 kB
/** * tdesign v1.15.1 * (c) 2025 tdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var slicedToArray = require('../_chunks/dep-8e4d656d.js'); var React = require('react'); var observe = require('../_chunks/dep-adacb8cb.js'); require('../_chunks/dep-00b49251.js'); function useElementLazyRender(labelRef, lazyLoad) { var ioObserver = React.useRef(null); var _useState = React.useState(!lazyLoad), _useState2 = slicedToArray._slicedToArray(_useState, 2), showElement = _useState2[0], setShowElement = _useState2[1]; var handleLazyLoad = function handleLazyLoad() { if (!lazyLoad || !labelRef.current || ioObserver.current) return; setShowElement(false); var io = observe.observe(labelRef.current, null, function () { setShowElement(true); }, 10); ioObserver.current = io; return function () { var _ioObserver$current; if (!lazyLoad || !labelRef.current) return; (_ioObserver$current = ioObserver.current) === null || _ioObserver$current === void 0 || _ioObserver$current.unobserve(labelRef.current); ioObserver.current = null; }; }; React.useEffect(handleLazyLoad, [lazyLoad, labelRef]); return { showElement: showElement }; } exports["default"] = useElementLazyRender; exports.useElementLazyRender = useElementLazyRender; //# sourceMappingURL=useElementLazyRender.js.map