Skip to content

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