Appendix C. Working with Expo Applications

Expo is a tool that allows you to write React Native apps without using Xcode or Android Studio. Projects created with the Create React Native App tool are Expo projects.

Expo makes it very easy to develop on your physical device and removes many of the initial roadblocks to getting started with React Native. Thus, it’s a great choice while you’re learning to develop using React Native.

You can read more about Expo and install the Expo mobile app at

Ejecting from Expo

Any project that relies on custom native code (either your own, or third-party modules that instruct you to run react-native link to install them) will not work with Expo. Expo provides a way to “eject” from Expo into a traditional, full React Native project. Ejecting will create a full React Native project from your existing Expo application. This is a one-way migration, so you won’t be able to go back to Expo afterwards.

You will also need to eject from Expo if you want more control over building and publishing your application for the iOS App Store or Google Play Store.

More information is available in the Create React Native App documentation.

Get Learning React Native, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.