-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathResizer.js
More file actions
33 lines (26 loc) · 718 Bytes
/
Resizer.js
File metadata and controls
33 lines (26 loc) · 718 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import React from 'react'
const Resizer = ({ children, style, onLayout }) => {
const divRef = React.useRef(null)
React.useEffect(() => {
const updateDimensions = () => {
if (divRef.current != null) {
const height = divRef.current.offsetHeight
const width = divRef.current.offsetWidth
onLayout({ width, height })
}
}
updateDimensions()
window.addEventListener('resize', updateDimensions)
return () => {
window.removeEventListener('resize', updateDimensions)
}
}, [onLayout])
return (
React.createElement(
'div',
{ ref: divRef, style: { ...style, position: 'relative' } },
children
)
)
}
export default Resizer