UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

20 lines 750 B
import { useEffect, useRef } from 'react'; import useForceUpdate from '../../_util/hooks/useForceUpdate'; import useResponsiveObserver from '../../_util/responsiveObserver'; function useBreakpoint() { let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; const screensRef = useRef({}); const forceUpdate = useForceUpdate(); const responsiveObserver = useResponsiveObserver(); useEffect(() => { const token = responsiveObserver.subscribe(supportScreens => { screensRef.current = supportScreens; if (refreshOnChange) { forceUpdate(); } }); return () => responsiveObserver.unsubscribe(token); }, []); return screensRef.current; } export default useBreakpoint;