Skip to content

FlatList faulty rendering when direction='ltr' in RTL app #55433

Description

@furlupe

Description

FlatList with huge amount of data (around 60 items or more) and style direction: 'ltr' in RTL environment fails to render all of items properly - it skips some of the items, yet list can be scrolled over them.
See the recording for details (comes from a real Android device).

Upon looking into the DOM, it seems like that Flatlist replaces the items with spacer, so it could be a virtualization failure:

Image Image

Steps to reproduce

  1. Run provided Snack on an Android device
  2. Change app's direction to the RTL
  3. Try to scroll to the left
  4. Notice blank space within the list upon further scrolling, which should've been red

React Native Version

0.83.1

Affected Platforms

Runtime - Android

Output of npx @react-native-community/cli info

System:
  OS: Windows 11 10.0.26100
  CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700
  Memory: 6.26 GB / 31.77 GB
Binaries:
  Node:
    version: 22.16.0
    path: C:\Program Files\nodejs\node.EXE
  Yarn:
    version: 1.22.21
    path: C:\Users\IliaVolgin\AppData\Roaming\npm\yarn.CMD
  npm:
    version: 10.9.2
    path: C:\Program Files\nodejs\npm.CMD
  Watchman: Not Found
SDKs:
  Android SDK:
    API Levels:
      - "28"
      - "30"
      - "31"
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
      - 35.0.0
      - 36.0.0
    System Images:
      - android-27 | Google Play Intel x86 Atom
      - android-28 | Intel x86_64 Atom
      - android-30 | AOSP ATD Intel x86_64 Atom
      - android-30 | Google Play Intel x86 Atom
      - android-31 | Google Play Intel x86_64 Atom
      - android-33 | Wear OS 4 Intel x86_64 Atom
      - android-33 | Google APIs Intel x86_64 Atom
      - android-33 | Google Play Intel x86_64 Atom
      - android-34 | Google APIs Intel x86_64 Atom
      - android-35-ext15 | Wear OS 5.1 Intel x86_64 Atom
      - android-35 | Google Play Intel x86_64 Atom
      - android-36.1 | Pre-Release 16 KB Page Size Google Play ARM 64 v8a
      - android-36.1 | Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom
      - android-36.1 | Pre-Release 16 KB Page Size Google APIs ARM 64 v8a
      - android-36.1 | Pre-Release 16 KB Page Size Google APIs Intel x86_64 Atom
      - android-36 | Wear OS 6.0 Intel x86_64 Atom
      - android-36 | Google Play Intel x86_64 Atom
      - android-36 | Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom
    Android NDK: Not Found
  Windows SDK:
    AllowDevelopmentWithoutDevLicense: Disabled
    Versions:
      - 10.0.19041.0
IDEs:
  Android Studio: Not Found
  Visual Studio:
    - 18.2.11415.280 (Visual Studio Community 2026)
Languages:
  Java:
    version: 17.0.11
    path: C:\Program Files\Common Files\Oracle\Java\javapath\javac.EXE
  Ruby: Not Found
npmPackages:
  "@react-native-community/cli":
    installed: 20.0.0
    wanted: 20.0.0
  react:
    installed: 19.2.0
    wanted: 19.2.0
  react-native:
    installed: 0.83.1
    wanted: 0.83.1
  react-native-windows: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Stacktrace or Logs

n\a

MANDATORY Reproducer

https://snack.expo.dev/@furlupe/rn-flatlist-ltr-rtl-reproducable

Screenshots and Videos

Screen_recording_20260206_110030.mp4

Activity

  1. furlupe commented on Feb 6, 2026

    @furlupe
    Author

    The issue also seems to be not related to Expo, since I've seen it on the app without any framework (from which video is taken)

  2. Hector-Zhuang commented on Feb 9, 2026

    @Hector-Zhuang
    Contributor

    This issue also occurs on iOS

    Screen.Recording.2026-02-09.at.3.27.54.PM.mov
  3. react-native-bot commented on Aug 9, 2026

    @react-native-bot
    Collaborator

    This issue is stale because it has been open for 180 days with no activity. It will be closed in 7 days unless you comment on it or remove the "Stale" label.

  4. added
    StaleThere has been a lack of activity on this issue and it may be closed soon.
    on Aug 9, 2026
  5. react-native-bot commented on Aug 16, 2026

    @react-native-bot
    Collaborator

    This issue was closed because it has been stalled for 7 days with no activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions