UNPKG

@chatui/core

Version:

The React library for Chatbot UI

24 lines 673 B
import { useEffect, useRef } from 'react'; export default function useWindowResize(handler) { var running = useRef(false); useEffect(function () { function runCallback() { handler(); running.current = false; } function resizeThrottler() { if (!running.current) { running.current = true; if (window.requestAnimationFrame) { window.requestAnimationFrame(runCallback); } else { setTimeout(runCallback, 66); } } } window.addEventListener('resize', resizeThrottler); return function () { window.removeEventListener('resize', resizeThrottler); }; }, [handler]); }