useBreakpoint

import { useBreakpoint } from 'react-laag';

Layer's that are tied to a trigger element usually work great on desktop, but sometimes the user experience isn't good on mobile devices. In order to detect the users viewport size you can use useBreakpoint, which allows you to adjust the layers styling and behavior accordingly. Under the hood, this hook makes use of window.matchMedia, which is very performant in checking changes in viewport sizes.

Type
(maxPixels: number): boolean

Example

function Example() {
  // check if user is on screen with a width of <= 480 pixels
  const isMobile = useBreakpoint(480);

  return (
    <ToggleLayer
      renderLayer={({ layerProps }) =>
        isOpen && (
          <Layer
            ref={layerProps.ref}
            style={{
              ...layerProps.style,
              // pick width depending on 'isMobile'
              width: isMobile ? 400 : 300
            }}
          />
        )
      }
      // rest of props...
    >
      {({ triggerRef, toggle }) => (
        <button ref={triggerRef} onClick={toggle}>
          hover me!
        </button>
      )}
    </ToggleLayer>
  );
}