1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { useLayoutEffect, useState } from 'react';
const useWindowSize = (): [number, number] => {
const [size, setSize] = useState<[number, number]>([0, 0]);
useLayoutEffect(() => {
const updateSize = () => {
setSize([window.innerWidth, window.innerHeight]);
};
window.addEventListener('resize', updateSize);
updateSize();
return () => window.removeEventListener('resize', updateSize);
}, []);
return size;
};
export default useWindowSize