first
This commit is contained in:
@ -0,0 +1,24 @@
|
||||
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>
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user