UNPKG

@shinyongjun/react-datepicker

Version:
23 lines 1.1 kB
import { useCallback, useState } from 'react'; import { useEventListener } from './useEventListener'; import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; export function useElementSize() { var _a = useState(null), ref = _a[0], setRef = _a[1]; var _b = useState({ width: 0, height: 0, }), size = _b[0], setSize = _b[1]; var handleSize = useCallback(function () { console.log('handleSize'); setSize({ width: (ref === null || ref === void 0 ? void 0 : ref.offsetWidth) || 0, height: (ref === null || ref === void 0 ? void 0 : ref.offsetHeight) || 0, }); }, [ref === null || ref === void 0 ? void 0 : ref.offsetHeight, ref === null || ref === void 0 ? void 0 : ref.offsetWidth]); useEventListener('resize', handleSize); useIsomorphicLayoutEffect(function () { handleSize(); }, [ref === null || ref === void 0 ? void 0 : ref.offsetHeight, ref === null || ref === void 0 ? void 0 : ref.offsetWidth]); return [ref, setRef, size]; } //# sourceMappingURL=useElementSize.js.map