使用ResizeObserver监听元素属性发生变化
var onResize = new ResizeObserver((entries) => {
console.log(entries[0].contentRect)
});
onResize.observe(<div>6666</div>);
React 监听Dom元素变化
import React, { useEffect, useRef } from 'react';
function Demo(){
const ref = useRef(null);
useEffect(() => {
if (ref.current) {
new ResizeObserver((entries) => {
console.log(entries[0].contentRect)
}).observe(ref.current);
}
return () => {
if (ref?.current) {
new ResizeObserver(() => { }).unobserve(ref.current);
}
};
}, [ref.current]);
return <div ref={ref} style={{ height: '100%', width: '100%' }} />;
}
export default Demo;