Files
NapCatQQ/.pnpm-store/v3/files/60/41e43bb2bf762912b4584c2cc44cfb9639cf6dd5f18eacd6bf2902e98a8f35985f0d6090761f062942d3accb825f8586a5db337736b5cb487e2e9f2f258041
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

30 lines
866 B
Plaintext

// src/index.ts
import { useCallback, useRef, useState } from "react";
function useMeasure() {
const [dimensions, setDimensions] = useState({
width: null,
height: null
});
const previousObserver = useRef(null);
const customRef = useCallback((node) => {
if (previousObserver.current) {
previousObserver.current.disconnect();
previousObserver.current = null;
}
if ((node == null ? void 0 : node.nodeType) === Node.ELEMENT_NODE) {
const observer = new ResizeObserver(([entry]) => {
if (entry && entry.borderBoxSize) {
const { inlineSize: width, blockSize: height } = entry.borderBoxSize[0];
setDimensions({ width, height });
}
});
observer.observe(node);
previousObserver.current = observer;
}
}, []);
return [customRef, dimensions];
}
export {
useMeasure
};