import { useEffect, useRef } from 'react';
export const useDimensions = (ref: React.RefObject<HTMLElement>) => {
const dimensions = useRef({ width: 0, height: 0 });
useEffect(() => {
if (!ref.current) return;
dimensions.current.width = ref.current.offsetWidth;
dimensions.current.height = ref.current.offsetHeight;
}, []);
return dimensions.current;
};
const { height } = useDimensions(containerRef);
return (
<motion.nav custom={height} ref={containerRef} initial={false} animate={isOpen ? 'open' : 'closed'}>
//...
)