UNPKG

react-ref-observe

Version:

Observe resizing and click outside for react components

51 lines (35 loc) 1.25 kB
# react-ref-observe A React hooks for observing an element resizing and clicking outside ## Usage ``` npm i react-ref-observe ``` ```jsx import * as React from "react"; import { observeResize, observeClickOutside } from "react-ref-observe"; export const Observers = () => { const firstRef = React.useRef(); const secondRef = React.useRef(); const [clicks, setClicks] = React.useReducer(c => c + 1, 0); const firstSize = observeResize(firstRef); observeClickOutside([secondRef], setClicks); return ( <> <div ref={firstRef}> width: {firstSize.width}, height: {firstSize.height} </div> <div ref={secondRef}>Clicks outside: {clicks}</div> </> ); }; ``` ## API ### `observeResize(ref, callback)` Observes element resizing. Uses [resize-observer-polyfill](https://github.com/que-etc/resize-observer-polyfill) - **ref** - React reference to a DOM element - **callback** _optional_ - callback function, taking argument `{width, height}` **Returns** an object `{width: Number, height: Number}` ### `observeClickOutside(refs, callback)` Observes clicks outside an element - **refs** - Array of react references to DOM elements - **callback** - callback function, taking click or touch event argument