Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlatList causes "property is not configurable" error after upgrading to React Native 0.78.0 #50384

Open
Hamadahmad000 opened this issue Mar 29, 2025 · 3 comments

Comments

@Hamadahmad000
Copy link

Hamadahmad000 commented Mar 29, 2025

Description

After upgrading from React Native 0.72.0 to 0.78.0, the Android build succeeds but screens containing FlatList components throw the error:

property is not configurable

Expected Behavior:

FlatList should render normally as it did in version 0.72.0.

Observed Behavior:

Any screen using FlatList fails to render with the configuration error

The error occurs consistently when FlatList is rendered

iOS appears unaffected (if applicable)

Reproduction Steps:

Upgrade from RN 0.72.0 to 0.78.0

Run Android build (successful)

Navigate to any screen containing FlatList

Error appears immediately

Environment:

React Native: 0.78.0

Android OS version: [Specify if known]

### Additional Context:

Screenshot of error attached

Error occurs with both functional and class components

Simple FlatList implementations (even with minimal props) trigger the issue

No third-party FlatList wrappers/libraries involved

Steps to reproduce

Upgrade React Native from 0.72.0 to 0.78.0 (via npx react-native upgrade or manual version bump).

Build Android: Run npx react-native run-android (build succeeds with no errors).

Implement a basic FlatList:

import { FlatList, Text, View } from 'react-native';
const ExampleScreen = () => (
  <View style={{ flex: 1 }}>
    <FlatList
      data={[{ id: '1', text: 'Test Item' }]}
      renderItem={({ item }) => <Text>{item.text}</Text>}
      keyExtractor={(item) => item.id}
    />
  </View>
);

Navigate to the screen: The app crashes with:

TypeError: property is not configurable

Observed:

Crash occurs only when FlatList is rendered.

No issues with other core components (e.g., ScrollView, Text).

iOS works fine (if applicable).

React Native Version

0.78.0

Affected Platforms

Runtime - Android

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

info Fetching system and libraries information...
System:
  OS: macOS 15.2
  CPU: (8) arm64 Apple M1
  Memory: 153.27 MB / 8.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 22.1.0
    path: ~/.nvm/versions/node/v22.1.0/bin/node
  Yarn:
    version: 4.4.1
    path: /opt/homebrew/bin/yarn
  npm:
    version: 10.7.0
    path: ~/.nvm/versions/node/v22.1.0/bin/npm
  Watchman:
    version: 2024.12.02.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 24.1
      - iOS 18.1
      - macOS 15.1
      - tvOS 18.1
      - visionOS 2.1
      - watchOS 11.1
  Android SDK: Not Found
IDEs:
  Android Studio: 2024.3 AI-243.24978.46.2431.13208083
  Xcode:
    version: 16.1/16B40
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.10
    path: /usr/bin/javac
  Ruby:
    version: 3.3.6
    path: /opt/homebrew/opt/ruby/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 15.0.1
    wanted: 15.0.1
  react:
    installed: 19.0.0
    wanted: 19.0.0
  react-native:
    installed: 0.78.0
    wanted: 0.78.0
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

info React Native v0.78.1 is now available (your project is running on v0.78.0).
info Changelog: https://github.com/facebook/react-native/releases/tag/v0.78.1
info Diff: https://react-native-community.github.io/upgrade-helper/?from=0.78.0&to=0.78.1
info For more info, check out "https://reactnative.dev/docs/upgrading?os=macos".

Stacktrace or Logs

property is not configurable
Component Stack
< VirtualizedList />
&platform=android&dev=true&lazy=true&minify=false&app=com.ex
posure&modulesOnly=false&runModule=true&excludeSource=true &sourcePaths=url-server:62232
‹FlatList />
&platform=android&dev=true&lazy=true&minify=false&app=com.ex
posure&modulesOnly=false&runModule=true&excludeSource=true &sourcePaths=url-server:61703
< ItemsCard />
&platform=android&dev=true&lazy=true&minify=false&app=com.ex
posure&modulesOnly=false&runModule=true&excludeSource=true &sourcePaths=url-server:295603

Reproducer

https://github.com/Hamadahmad000/reproducer

@react-native-bot
Copy link
Collaborator

Tip

Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - 0.78.1. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

@react-native-bot
Copy link
Collaborator

Tip

Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - undefined. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.

@cipolleschi
Copy link
Contributor

Hi @Hamadahmad000, thanks for the issue. I just tried out your reproducer on 0.78.1 (see below) and it works fine.

Image

I think there might be other issues in your app that are preventing your Flatlist to be rendered.

I suggest to:

  1. try to create a new application with npx @react-native-community/cli init App --version latest and see if the issue reproduce there. If it doesn't go to step 2.
  2. start removing pieces of the UI until you identify the element that is causing the issue.

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

No branches or pull requests

3 participants