Expo is the fastest way to start React Native: a managed toolchain, Expo Go for JS-only APIs, and EAS Build for store binaries. When a library needs custom native code, you switch to a development build. You do not have to “eject” to a messy bare app to add most plugins.
This React Native cheat sheet is written for people searching for a fast, accurate reference: students, junior developers, and teams shipping production software. Pin it, copy the snippets, and come back when syntax slips.
Quick reference
- Start:
npx create-expo-appthennpx expo start. Open in Expo Go or a simulator. - Config:
app.json/app.config.js: name, slug, icons, permissions, scheme. - Expo Go: Great for JS + Expo SDK. Cannot include arbitrary native modules.
- Dev build:
expo prebuildor EAS development builds when you add native deps. - EAS Build: Cloud (or local) production binaries for iOS/Android without owning a Mac for Android-only — iOS still needs Apple accounts.
- Updates: EAS Update / OTA for JS-only changes. Native changes still need a new binary.
- Plugins: Config plugins edit native projects during prebuild. Read the library’s Expo docs.
- Bare: You can add Expo modules to a bare RN app. “Expo vs RN” is a false binary for many teams.
Copy-paste examples
Minimal app.json fields you will touch
Use app.config.js when values come from env. Keep scheme stable for deep links and OAuth.
{
"expo": {
"name": "Catalog",
"slug": "catalog",
"scheme": "catalog",
"ios": { "bundleIdentifier": "com.example.catalog" },
"android": { "package": "com.example.catalog" }
}
}Common mistakes
- Adding a native-only library and staying in Expo Go — the module will be undefined.
- Changing icons in JS and expecting the home-screen icon to update without a new native build.
- Committing giant
ios/andandroid/folders you generated once and then editing them by hand against prebuild. - Shipping OTA updates that change native-incompatible code (new permissions, new native modules).
FAQ
- Is Expo “not real React Native”? It is React Native plus tooling. Production apps on the stores are real native binaries.
- Do I need a Mac? For iOS simulator and iOS store builds you need Apple’s toolchain or EAS. Android can be fully built on Windows/Linux.
- When do I eject? Rarely. Prefer a development build + config plugins. Eject/prebuild permanently only if you must own the native projects by hand.
Related React Native cheat sheets
Build with this stack
When a cheat sheet is not enough — you need a production app, a student FYP, or a custom dashboard — ArpaNeuro builds mobile app development and also sells ready-made source code. Request a quote and tell us the stack.
Browse software development services or the source code marketplace if you want a working codebase instead of starting from a blank file.