You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With masonry={true} and numColumns={2}, after onEndReached loads the next page and data is extended, the masonry grid can leave a large empty vertical gap in one column while the other column continues to stack items normally. Items appear misaligned relative to a tight masonry packing (see screenshot).
Current behavior
Initial page renders as a two-column masonry grid.
After pagination (more items appended to data), one column can show a tall blank region while the opposite column still receives cards. The gap does not correspond to a missing item in the data set; it looks like layout / column assignment not reflowing correctly after the append.
Screenshot:
ScreenRecording_04-30-2026.18-58-46_1.MP4
Expected behavior
After each pagination append, masonry should repack items so both columns stay filled according to shortest-column (or equivalent) logic, without a large artificial gap in one column when more items exist that could occupy that space.
Reproduction
Minimal pattern: masonry + numColumns={2} + append on onEndReached + variable-height rows + optional ListFooterComponent (loader), matching how a paginated feed behaves.
Description
With
masonry={true}andnumColumns={2}, afteronEndReachedloads the next page anddatais extended, the masonry grid can leave a large empty vertical gap in one column while the other column continues to stack items normally. Items appear misaligned relative to a tight masonry packing (see screenshot).Current behavior
data), one column can show a tall blank region while the opposite column still receives cards. The gap does not correspond to a missing item in the data set; it looks like layout / column assignment not reflowing correctly after the append.Screenshot:
ScreenRecording_04-30-2026.18-58-46_1.MP4
Expected behavior
After each pagination append, masonry should repack items so both columns stay filled according to shortest-column (or equivalent) logic, without a large artificial gap in one column when more items exist that could occupy that space.
Reproduction
Minimal pattern: masonry +
numColumns={2}+ append ononEndReached+ variable-height rows + optionalListFooterComponent(loader), matching how a paginated feed behaves.Expo Snack or minimal reproduction link:
https://snack.expo.dev/@sahiljena1/flashlist-masonry-bug-report
Platform
Environment
React Native info output:
FlashList version: 2.2.0
Additional context
Checklist