grid-rows-masonry
Version:
A ponyfill for CSS Grid masonry layout in plain JavaScript and React.
14 lines (13 loc) • 492 B
JavaScript
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 });
};