【发布时间】:2020-11-22 14:40:37
【问题描述】:
我在我的项目中使用这个 ResizeObserver 钩子和 typescript
const useResizeObserver = () => {
const [entry, setEntry] = useState<ResizeObserverEntry>();
const [node, setNode] = useState<Element | null>(null);
const observer = useRef<ResizeObserver | null>(null);
const disconnect = useCallback(() => {
const { current } = observer;
if (current) {
current.disconnect();
}
}, []);
const observe = useCallback(() => {
observer.current = new ResizeObserver(([entry1]) => setEntry(entry1));
if (node) {
observer.current.observe(node);
}
}, [node]);
useLayoutEffect(() => {
observe();
return () => disconnect();
}, [disconnect, observe]);
return [setNode, entry];
};
const [node, entry] = useResizeObserver();
<div ref={node}>content</div>
当我在我的组件中使用这个钩子时,我得到了这个错误
键入'调度
帮助修复
【问题讨论】:
-
我不知道为什么,但是这个钩子在 js 项目中有效,并且不适用于 typescript
标签: javascript reactjs typescript react-hooks