UNPKG

@withvoid/melting-pot

Version:
28 lines (21 loc) 625 B
import React from 'react'; const useWindowSize = () => { const isClient = typeof window === 'object'; const getSize = () => ({ width: isClient ? window.innerWidth : undefined, height: isClient ? window.innerHeight : undefined, }); const [size, setSize] = React.useState(getSize); React.useEffect(() => { if (!isClient) { return false; } const onHandleResize = () => { setSize(getSize); }; window.addEventListener('resize', onHandleResize); return () => window.removeEventListener('resize', onHandleResize); }, []); return size; }; export default useWindowSize;