Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const ResizeObserver = require('resize-observer-polyfill')
- const { useLayoutEffect, useState, useMemo, useRef } = require('react')
- exports.useResizeObserver = () => {
- const ref = useRef()
- const [state, setState] = useState({})
- const observer = useMemo(() => new ResizeObserver(entries => {
- setState(entries[0].contentRect)
- }))
- useLayoutEffect(() => {
- if (ref.current) {
- observer.observe(ref.current)
- return () => observer.unobserve(ref.current)
- }
- }, [ref.current])
- return [ref, state]
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement