@geezee/react-ui
Version:
Modern and minimalist React UI library.
22 lines (19 loc) • 739 B
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import { useEffect, useRef, useState } from 'react';
export default function useDOMDimension() {
var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'clientWidth';
var ref = useRef(null);
var _useState = useState(0),
_useState2 = _slicedToArray(_useState, 2),
width = _useState2[0],
setWidth = _useState2[1];
for (var _len = arguments.length, gurads = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
gurads[_key - 1] = arguments[_key];
}
useEffect(function () {
if (ref.current) {
setWidth(ref.current[property]);
}
}, [].concat(gurads));
return [width, ref];
}