@react-hook/resize-observer
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -73,3 +73,2 @@ 'use strict' | ||
const resizeObserver = getResizeObserver() | ||
const targetEl = target && 'current' in target ? target.current : target | ||
const storedCallback = React.useRef(callback) | ||
@@ -82,2 +81,3 @@ storedCallback.current = callback | ||
if (didUnsubscribe) return | ||
const targetEl = target && 'current' in target ? target.current : target | ||
@@ -98,13 +98,9 @@ for (let i = 0; i < entries.length; i++) { | ||
} | ||
}, [targetEl, resizeObserver]) | ||
function _ref() { | ||
return resizeObserver.observer.unobserve(targetEl) | ||
} | ||
}, [target, resizeObserver]) | ||
;(0, _passiveLayoutEffect.default)(() => { | ||
const targetEl = target && 'current' in target ? target.current : target | ||
if (!targetEl) return | ||
resizeObserver.observer.observe(targetEl) | ||
return _ref | ||
}, [targetEl, resizeObserver.observer]) | ||
return () => resizeObserver.observer.unobserve(targetEl) | ||
}, [target, resizeObserver.observer]) | ||
return resizeObserver.observer | ||
@@ -111,0 +107,0 @@ } |
@@ -14,3 +14,2 @@ import * as React from 'react' | ||
const resizeObserver = getResizeObserver() | ||
const targetEl = target && 'current' in target ? target.current : target | ||
const storedCallback = React.useRef(callback) | ||
@@ -23,2 +22,3 @@ storedCallback.current = callback | ||
if (didUnsubscribe) return | ||
const targetEl = target && 'current' in target ? target.current : target | ||
@@ -39,13 +39,9 @@ for (let i = 0; i < entries.length; i++) { | ||
} | ||
}, [targetEl, resizeObserver]) | ||
function _ref() { | ||
return resizeObserver.observer.unobserve(targetEl) | ||
} | ||
}, [target, resizeObserver]) | ||
useLayoutEffect(() => { | ||
const targetEl = target && 'current' in target ? target.current : target | ||
if (!targetEl) return | ||
resizeObserver.observer.observe(targetEl) | ||
return _ref | ||
}, [targetEl, resizeObserver.observer]) | ||
return () => resizeObserver.observer.unobserve(targetEl) | ||
}, [target, resizeObserver.observer]) | ||
return resizeObserver.observer | ||
@@ -52,0 +48,0 @@ } |
{ | ||
"name": "@react-hook/resize-observer", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"homepage": "https://github.com/jaredLunde/react-hook/tree/master/packages/resize-observer#readme", | ||
@@ -5,0 +5,0 @@ "repository": "github:jaredLunde/react-hook", |
@@ -68,3 +68,3 @@ <hr> | ||
const App = () => { | ||
const [target, setTarget] = React.useState(null) | ||
const target = React.useRef(null) | ||
const size = useSize(target) | ||
@@ -90,6 +90,6 @@ return ( | ||
| Argument | Type | Required? | Description | | ||
| ---------- | --------------------------------------------------------- | --------- | ------------------------------------------------------------------------- | | ||
| `target` | <code>React.RefObject<T> | T | null</code> | Yes | A React ref created by `useRef()` or an HTML element | | ||
| `callback` | [`UseResizeObserverCallback`](#useresizeobservercallback) | Yes | Invoked with a single `ResizeObserverEntry` any time the `target` resizes | | ||
| Argument | Type | Required? | Description | | ||
| -------- | --------------------------------------------------------- | --------- | ------------------------------------------------------------------------- | | ||
| target | <code>React.RefObject<T> | T | null</code> | Yes | A React ref created by `useRef()` or an HTML element | | ||
| callback | [`UseResizeObserverCallback`](#useresizeobservercallback) | Yes | Invoked with a single `ResizeObserverEntry` any time the `target` resizes | | ||
@@ -96,0 +96,0 @@ ## Types |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
19460
309