
React Native remains one of the most powerful frameworks for building cross-platform apps using JavaScript or TypeScript. For an efficient React Native setup 2025 , whether youβre building for iOS, Android, or even web, setting up your environment properly ensures smooth development from day one.
In this guide, youβll learn how to set up a React Native project in 2025 using the latest tooling, including Expo and the React Native CLI, plus a few pro tips to make your workflow faster and cleaner.
π οΈ Option 1: Set Up with Expo (Recommended for Most Devs)
Why Expo?
- Zero native code needed
- Fast setup and reload
- Web support included
- Works on both Windows and macOS
β Step 1: Install Node.js and Expo CLI
Make sure you have Node.js (version 18+):
node -v
Then install Expo CLI globally:
npm install -g expo-cli
For full setup instructions and platform-specific details, you can always refer to the official React Native documentation.
β Step 2: Create Your Project
npx create-expo-app MyAwesomeApp
Choose between JavaScript or TypeScript templates.
Then:
cd MyAwesomeApp
npm start
Expo will give you a QR code to run the app on your real device using the Expo Go app, or launch an emulator.
π οΈ Option 2: React Native CLI (Advanced Setup)
Use this if you need native modules, custom Android/iOS code, or want full control.
β Step 1: Install Prerequisites
- Node.js
- Android Studio (for Android SDK & emulator)
- Xcode (macOS only, for iOS)
- Watchman (macOS):
brew install watchman
Step 2: Install React Native CLI
npm install -g react-native-cli
β Step 3: Create Your App
npx react-native init MyApp
Run it:
cd MyApp
npx react-native run-android
# or
npx react-native run-ios
π§ Should You Use Expo or the CLI?
Feature | Expo | React Native CLI |
---|---|---|
Easy setup | β | β |
Native modules support | Limited | β |
OTA updates | β | β |
Web support | β | β |
Custom native code | β | β |
π§ Recommendation: Use Expo unless you need full native capabilities.
π Suggested Folder Structure (Scalable)
MyAwesomeApp/
βββ assets/
βββ components/
βββ screens/
βββ hooks/
βββ navigation/
βββ context/
βββ utils/
βββ App.js / App.tsx
Keep logic modular and easy to test.
π» VS Code Setup (Recommended Extensions)
- ESLint (linting)
- Prettier (formatting)
- React Native Tools (debugging)
- React Native Snippets
- Path Intellisense
π Bonus: Add TypeScript Support (If You Used JS)
npm install --save-dev typescript @types/react @types/react-native
Then rename .js
files to .tsx
and add a tsconfig.json
:
{
"compilerOptions": {
"jsx": "react-native",
"lib": ["esnext"],
"target": "esnext"
}
}
π Conclusion
React Native setup in 2025 is more streamlined than ever. Whether you choose Expo for its simplicity or the CLI for flexibility, both options are production-ready.
Focus on clean architecture, a good dev workflow, and take advantage of the rich ecosystem React Native provides.
Let me know in the comments if you want a follow-up on folder structure, navigation, or setting up Redux/Zustand!