# `useMeasure`
React sensor hook that tracks dimensions of an HTML element using the [Resize Observer API](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).
## Usage
```jsx
import { useMeasure } from "react-use";
const Demo = () => {
const [ref, { x, y, width, height, top, right, bottom, left }] = useMeasure();
return (
x: {x}
y: {y}
width: {width}
height: {height}
top: {top}
right: {right}
bottom: {bottom}
left: {left}
);
};
```
This hook uses [`ResizeObserver` API][resize-observer], if you want to support
legacy browsers, consider installing [`resize-observer-polyfill`][resize-observer-polyfill]
before running your app.
```js
if (!window.ResizeObserver) {
window.ResizeObserver = (await import('resize-observer-polyfill')).default;
}
```
## Related hooks
- [useSize](./useSize.md)
[resize-observer]: https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver
[resize-observer-polyfill]: https://www.npmjs.com/package/resize-observer-polyfill