UNPKG

grid-rows-masonry

Version:

A ponyfill for CSS Grid masonry layout in plain JavaScript and React.

14 lines (13 loc) 492 B
import { Masonry as MasonryClass } from "../masonry"; import { createElement, useEffect, useRef, } from "react"; export const Masonry = (props) => { const { component = "div", disabled = false } = props; const ref = useRef(null); useEffect(() => { if (ref.current && !disabled) { const masonry = new MasonryClass(ref.current); return () => masonry.destroy(); } }, [disabled]); return createElement(component, { ...props, ref }); };