An open API service indexing awesome lists of open source software.

https://github.com/zzarcon/react-resize-observer-hook

ResizeObserver + React hooks
https://github.com/zzarcon/react-resize-observer-hook

hooks observer react react-hooks resize resize-observer

Last synced: 6 months ago
JSON representation

ResizeObserver + React hooks

Awesome Lists containing this project

README

        

# react-resize-observer-hook [![Build Status](https://travis-ci.org/zzarcon/react-resize-observer-hook.svg?branch=master)](https://travis-ci.org/zzarcon/react-resize-observer-hook)
> ResizeObserver + React hooks


Logo



## Demo

[zzarcon.github.io/react-resize-observer-hook](https://zzarcon.github.io/react-resize-observer-hook)

## Install

```
yarn add react-resize-observer-hook
```

## Usage

```js
import {useState, useRef} from 'react';
import useResize from 'react-resize-observer-hook';

export default () => {
const [dimensions, setDimensions] = useState({width: 100, height: 50})
const parentRef = useRef(null);

useResizeObserver(parentRef, (entry) => setDimensions({
width: entry.width,
height: entry.height,
}));

return (


{dimensions.width} x {dimensions.height}

)
}

```

## API

```typescript
DOMRectReadOnly {
bottom: number;
height: number;
left: number;
right: number;
top: number;
width: number;
x: number;
y: number;
toJSON(): any;
}
ObserverCallback = (entry: DOMRectReadOnly) => void;
useResizeObserver = (ref: RefObject, callback: ObserverCallback) => {
```

## Author

[@zzarcon](https://twitter.com/zzarcon)