Skip to content

Masonry items jump between columns upon size change #2107

@j0sip

Description

@j0sip

Current behavior

In a Masonry layout with optimizedItemArangement enabled, items sometimes jump to other column when their height is modified. This results in bad UX.

See video below:

flash-list-masonry-issue.mp4

Expected behavior

There should at least be a prop that disallow items to switch columns upon size change or it should be enabled by default, at least for the visible items.
Unexpectedly switching columns seems glitchy and leads to bad UX.

Reproduction

Reproducible in flash-list fixture app:

  1. Open ComplexMasonry screen example
  2. Click on Item 9 or Item 13 to increase their size and notice how other cards jump to different column

Platform

  • iOS
  • Android

Environment

FlashList version: 2.2.2

Checklist

  • I've searched existing issues and couldn't find a duplicate
  • I've provided a minimal reproduction (Expo Snack preferred)
  • I'm using the latest version of @shopify/flash-list
  • I've included all required information above

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Important but not urgentbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions