Skip to content

Files

Latest commit

 

History

History
45 lines (33 loc) Β· 1.14 KB

useMeasure.md

File metadata and controls

45 lines (33 loc) Β· 1.14 KB

useMeasure

React sensor hook that tracks dimensions of an HTML element using the Resize Observer API.

Usage

import { useMeasure } from "react-use";

const Demo = () => {
  const [ref, { x, y, width, height, top, right, bottom, left }] = useMeasure();

  return (
    <div ref={ref}>
      <div>x: {x}</div>	
      <div>y: {y}</div>
      <div>width: {width}</div>
      <div>height: {height}</div>
      <div>top: {top}</div>
      <div>right: {right}</div>
      <div>bottom: {bottom}</div>
      <div>left: {left}</div>
    </div>
  );
};

This hook uses ResizeObserver API, if you want to support legacy browsers, consider installing resize-observer-polyfill before running your app.

if (!window.ResizeObserver) {
  window.ResizeObserver = (await import('resize-observer-polyfill')).default;
}

Related hooks