Skip to content

Commit d5937e2

Browse files
mohammedzamakhanfouad
authored andcommitted
Use ResizeObserver if available else use window resize
1 parent d5ef618 commit d5937e2

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

index.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,24 @@ function useComponentSize(ref) {
2222
}
2323

2424
useLayoutEffect(() => {
25-
if (!ResizeObserver) {
26-
throw new Error('Include ResizeObserver Polyfill')
27-
}
2825
handleResize()
29-
const resizeObserver = new ResizeObserver(() => handleResize())
30-
31-
resizeObserver.observe(ref.current)
3226

33-
return () => {
34-
resizeObserver.disconnect(ref.current)
35-
resizeObserver = null
27+
if (ResizeObserver) {
28+
const resizeObserver = new ResizeObserver(() => handleResize())
29+
resizeObserver.observe(ref.current)
30+
31+
return () => {
32+
resizeObserver.disconnect(ref.current)
33+
resizeObserver = null
34+
}
35+
} else {
36+
window.addEventListener('resize', handleResize)
37+
38+
return () => {
39+
window.removeEventListener('resize', handleResize)
40+
}
3641
}
42+
3743
}, [])
3844

3945
return ComponentSize

0 commit comments

Comments
 (0)