import { useState, useEffect, useRef } from 'react' export function useWindowSize () { const [windowSize, setWindowSize] = useState({ width: undefined, height: undefined, }) useEffect(() => { function handleResize () { setWindowSize({ width: window.innerWidth, height: window.innerHeight, }) } window.addEventListener('resize', handleResize) handleResize() return () => window.removeEventListener('resize', handleResize) }, []) return windowSize } export function usePrevious (value) { const ref = useRef() useEffect(() => { ref.current = value }, [value]) return ref.current }