tdesign-react
Version:
TDesign Component for React
45 lines (39 loc) • 1.42 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
;
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