Skip to content

Commit 0eeeddf

Browse files
feat: Use ResizeObserver to listen to size changes (#299)
Same as TanStack/virtual#360
1 parent 7a180af commit 0eeeddf

File tree

3 files changed

+5451
-5468
lines changed

3 files changed

+5451
-5468
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@
124124
},
125125
"dependencies": {
126126
"@babel/runtime": "^7.14.6",
127-
"@reach/observe-rect": "^1.2.0",
128127
"@types/d3-array": "^3.0.1",
129128
"@types/d3-scale": "^4.0.1",
130129
"@types/d3-shape": "^3.0.1",

src/hooks/useRect.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import observeRect from '@reach/observe-rect'
21
import React from 'react'
32

43
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'
@@ -39,14 +38,14 @@ export default function useRect(
3938
return
4039
}
4140

42-
const observer = observeRect(element as Element, (newRect: DOMRect) => {
43-
setRect(newRect)
41+
const observer = new ResizeObserver((entries) => {
42+
setRect(entries[0]?.contentRect)
4443
})
4544

46-
observer.observe()
45+
observer.observe(element as Element)
4746

4847
return () => {
49-
observer.unobserve()
48+
observer.unobserve(element as Element)
5049
}
5150
}, [element, enabled])
5251

0 commit comments

Comments
 (0)