Apps built with Create React Native App rely on three project dependencies:
react-nativeprovides the core React Native functionalityreactis a peer dependency ofreact-nativeexpomakes CRNA projects compatible with the Expo client app, and also provides access to several native APIs through JavaScript
The app.json file in a CRNA project also specifies sdkVersion which is necessary for the Expo client to provide the correct native API versions.
Each version of these dependencies is only compatible with a narrow version range of the other two. See the below table for the correct versions to use with each other:
react-native |
react |
expo |
sdkVersion in app.json |
|---|---|---|---|
| 0.41.x | 15.4.x | 14.x.x | "14.0.0" |
| 0.42.x | 15.4.x | 15.x.x | "15.0.0" |
| 0.43.x | 16.0.0-alpha.6 | 16.x.x | "16.0.0" |
| 0.44.x | 16.0.0-alpha.6 | 17.x.x | "17.0.0" |
| 0.45.x | 16.0.0-alpha.12 | 18.x.x | "18.0.0" |
| 0.46.x | 16.0.0-alpha.12 | 19.x.x | "19.0.0" |