@clayui/shared
Version:
ClayShared component
23 lines (22 loc) • 594 B
JavaScript
import { useCallback, useEffect, useState } from "react";
function useObservedMaxWidth(ref) {
const [maxWidth, setMaxWidth] = useState(window.innerWidth / 2);
const handleResize = useCallback(() => {
if (ref.current) {
setMaxWidth(
parseFloat(window.getComputedStyle(ref.current).maxWidth)
);
}
}, [ref]);
useEffect(() => {
handleResize();
window.addEventListener("resize", handleResize);
return () => {
window.removeEventListener("resize", handleResize);
};
}, [handleResize]);
return maxWidth;
}
export {
useObservedMaxWidth
};