This repository is based on the official React Native reproducer template.
It reproduces a package metadata/runtime contract mismatch in react-native@0.85.3:
react-native@0.85.3declarespeerDependencies.react = ^19.2.3, which permitsreact@19.2.6.- The embedded React Native renderer in
react-native@0.85.3checks forReact.version === "19.2.3"at runtime. - Launching this app with
react@19.2.6should fail with the React/react-native-renderer exact-version mismatch.
- 1. Create a new reproducer project.
- 2. Git clone your repository locally.
- 3. Edit the project to reproduce the failure you're seeing.
- 4. Push your changes, so that Github Actions can run the CI.
- 5. Make sure the repository is public and share the link with the issue you reported.
cd ReproducerApp
yarn install
yarn start
yarn iosExpected runtime error:
Incompatible React versions: The "react" and "react-native-renderer" packages must have the exact same version.
Instead got:
- react: 19.2.6
- react-native-renderer: 19.2.3ReproducerApp/package.json intentionally uses:
{
"react": "19.2.6",
"react-native": "0.85.3"
}This satisfies react-native@0.85.3's published peer range, but does not satisfy the renderer's runtime exact-version check.
This project has been created with npx @react-native-community/cli init and is a vanilla React Native app.
Important
Make sure you have completed the React Native - Environment Setup so that you have a working environment locally.
To start Metro, run the following command from ReproducerApp:
yarn startLet Metro Bundler run in its own terminal. Open a new terminal from ReproducerApp.
yarn androidFirst, install CocoaPods dependencies:
cd ios && bundle install && bundle exec pod installThen run:
yarn ios