Expo & React Native — Personal Documentation
A curated collection of notes, cheatsheets, and setup guides for building production-grade React Native apps with Expo.
📋 Pages Overview
| Page | Description |
|---|---|
| Expo & RN Development Notes | Project setup, NativeWind, prebuild, Google OAuth, custom fonts, markdown display, file-based routing, navigation, image picker, push notifications, utilities, dev tools |
| EAS CLI Commands | Complete cheatsheet for EAS Build, Submit, OTA updates, secrets, device management, credentials, and account commands |
| Environment Variables Guide | Three-tier strategy for managing env vars: .env for local dev, eas.json for build profiles, EAS Secrets for sensitive values |
| Essential UI Libraries | Curated list of RN libraries for inputs, navigation, lists, media, maps, animations, modals, storage, networking, auth, charts, and utilities |
🚀 Quick Start — New Project
npx create-expo-app@latest my-app
cd my-app
npm run reset-project
Then set up the folder structure:
mkdir assets/audio assets/fonts assets/icons
mkdir auth components constants hooks lib store dummy-data types utils
touch .env
🔧 Common Workflows
Development Build
adb devices
npx expo prebuild --clean
npx expo run:android
npx expo start --dev-client
Production Build & Submit
eas build --platform android --profile production
eas submit --platform android
OTA Update
eas update --channel production --message "Release notes here"
📚 Reference
| Topic | Link |
|---|---|
| Expo Docs | docs.expo.dev |
| Expo Router | expo.github.io/router |
| NativeWind | nativewind.dev |
| EAS CLI | docs.expo.dev/eas |
| React Native | reactnative.dev |
| TanStack Query | tanstack.com/query |
| Zustand | github.com/pmndrs/zustand |