@orca-fe/hooks
Version:
React Hooks Collections
31 lines • 903 B
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import { useEffect, useState } from 'react';
var useWindowSize = () => {
var _useState = useState(window.innerWidth),
_useState2 = _slicedToArray(_useState, 2),
width = _useState2[0],
setWidth = _useState2[1];
var _useState3 = useState(window.innerHeight),
_useState4 = _slicedToArray(_useState3, 2),
height = _useState4[0],
setHeight = _useState4[1];
useEffect(() => {
var callback = () => {
if (window.innerWidth !== width) {
setWidth(window.innerWidth);
}
if (window.innerHeight !== height) {
setHeight(window.innerHeight);
}
};
window.addEventListener('resize', callback);
return () => {
window.removeEventListener('resize', callback);
};
}, [width, height]);
return {
width,
height
};
};
export default useWindowSize;