@shinyongjun/react-datepicker
Version:
DatePicker component in React App.
26 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useElementSize = useElementSize;
var react_1 = require("react");
var useEventListener_1 = require("./useEventListener");
var useIsomorphicLayoutEffect_1 = require("./useIsomorphicLayoutEffect");
function useElementSize() {
var _a = (0, react_1.useState)(null), ref = _a[0], setRef = _a[1];
var _b = (0, react_1.useState)({
width: 0,
height: 0,
}), size = _b[0], setSize = _b[1];
var handleSize = (0, react_1.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]);
(0, useEventListener_1.useEventListener)('resize', handleSize);
(0, useIsomorphicLayoutEffect_1.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