wp_back/wp-content/plugins/visual-portfolio/gutenberg/components/masonry-wrapper/index.js

25 lines
444 B
JavaScript
Raw Normal View History

2024-05-20 15:37:46 +03:00
import { useEffect, useRef } from '@wordpress/element';
const { Masonry } = window;
export default function MasonryWrapper(props) {
const { options, children, ...restProps } = props;
const ref = useRef();
// Init.
useEffect(() => {
const instance = new Masonry(ref.current, options);
return () => {
instance.destroy();
};
}, [ref, options, children]);
return (
<div ref={ref} {...restProps}>
{children}
</div>
);
}