使用ResizeObserver即可
// 用于监听 CorePointsWrapper 的高度
useEffect(() => {
const container = corePointsWrapperRef.current;
if (!container) return;
// 使用 ResizeObserver 监听高度变化
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
const height = entry.contentRect.height;
const resultHeight = window.innerHeight - 100 - 72 - height;
setCorePointsHeight(resultHeight);
}
});
resizeObserver.observe(container);
// 清理 observer
return () => {
if (container) {
resizeObserver.unobserve(container);
}
};
}, [deviceInfo]);