import { useEffect, useState } from 'react' interface WindowSize { width: number, height: number } const useWindowSize = () => { const [size, setSize] = useState({ width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }) useEffect(() => { const onResize = () => { setSize({ width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }) } onResize() window.addEventListener('resize', onResize) return () => { window.removeEventListener('resize', onResize) } }, []) return size } export default useWindowSize