import React, { useRef, useEffect } from 'react';
function Demo() {
const demoRef = useRef(null);
const resizeChange = (e) => {
console.log(e.contentRect.height, e, '监听元素正在发生变化!')
};
useEffect(() => {
const resize = new ResizeObserver((e) => {
if (!Array.isArray(e) || !e.length) return;
for (const ent of e) {
resizeChange(ent);
}
});
resize.observe(demoRef.current);
return () => { resize.unobserve(demoRef?.current); };
}, []);
return (
<div style={{ height: '100%', overflow: 'hidden' }} ref={demoRef}>
监听div元素高度变化
</div>
);
}
export default Demo;