diff --git a/packages/ui/src/base/masonry/index.tsx b/packages/ui/src/base/masonry/index.tsx index a6b476b..2ac8c25 100644 --- a/packages/ui/src/base/masonry/index.tsx +++ b/packages/ui/src/base/masonry/index.tsx @@ -77,6 +77,16 @@ const Masonry = ({ children }: Props) => { setColumnWidth(nextColumnWidth); }, []); + const isInitialRender = useMemo( + () => + !!( + columnWidth === 0 || + heights.length !== elements.length || + heights.find((height) => height === undefined) + ), + [heights, elements, columnWidth], + ); + useLayoutEffect(() => { if (!ref.current) { return; @@ -91,23 +101,27 @@ const Masonry = ({ children }: Props) => { }, [updateSize]); const debouncedLayout = useDebounce(layout, 10); + const debouncedHeights = useDebounce(heights, 10); return (
- {elements.map((element, index) => ( - - {element} - - ))} + {columnWidth > 0 && + elements.map((element, index) => ( + + {element} + + ))}
); };