-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
While using this, I found this problem: if the component using this hook unmounts, React complains about a memory leak.
To fix this, resizeObserver should disconnect on useEffect's return function:
export const useResizeObserver = (ref: RefObject<HTMLElement>, callback: ObserverCallback) => {
useEffect(() => {
const resizeObserver = new (window as any).ResizeObserver((entries: ResizeObserverEntry[]) => {
callback(entries[0].contentRect);
});
resizeObserver.observe(ref.current);
return () => {
resizeObserver.disonnect();
}
}, [ref]);
}
Metadata
Metadata
Assignees
Labels
No labels