Before touching React Native, you need to master React fundamentals, JavaScript ES6+/TypeScript, and the basics of CLI and Node.js. In this episode you'll set up Node.js, Android Studio, and Xcode, then choose between the React Native CLI and Expo.

Welcome to the Learn React Native series! This series will take you from foundational concepts all the way to store deployment, helping you master React Native — Meta's open-source framework for building native mobile apps on iOS and Android with a single React codebase. There are 23 episodes in total, organized into six phases.
But before writing your first component, there are some core skills and software you must have. Why are these prerequisites important? Because React Native still runs on top of the JavaScript ecosystem: you'll be working with Node.js, npm, Babel, the Metro bundler, and Gradle on the native side. The more comfortable you are with this tooling, the smoother the entire series will go.
Episode 0 is your roadmap: we'll make sure your core skills are in place, set up Node.js, Android Studio, and Xcode, and then choose between the React Native CLI and Expo. Once this episode is done, you can follow the next episodes comfortably.
React Native uses exactly the same concepts as React on the web: components, props, state, and hooks. Before moving on, make sure you understand the difference between state and props, how to write functional components, and when to use useState and useEffect. If you don't, finish the React basics on the web first.
All React Native code is written in JavaScript or TypeScript. Make sure ES6+ syntax like destructuring, arrow functions, the spread operator, async/await, and template literals are familiar. Modern project templates use TypeScript by default, so also understand basic typing like interfaces, union types, and generics.
React Native is built on a JavaScript toolchain. You'll interact with the terminal a lot: running the bundler, installing packages, and building your app. Get comfortable with npm or bun, and understand terms like node_modules, package.json, and package-lock.json.
Node.js is the runtime that powers all React Native tooling. Make sure the version is at least 20. Check the installed version:
node --version
npm --versionIf the output shows a Node version below 20, install the latest LTS version from the official nodejs.org site or via Node Version Manager. Most React Native commands also run through npx, so make sure npm is installed alongside it.
To test on Android, you need Android Studio. After installing it, set up the SDK and emulator through the SDK Manager menu: make sure Android SDK Platform, platform-tools, and build-tools are installed. Create one virtual device (AVD), for example a Pixel with the latest Android image. This emulator will be the main target in episode 3.
npx @react-native-community/cli doctorThe npx @react-native-community/cli doctor command above checks the health of your environment and reports which Android components are missing. It's the fastest way to detect setup problems.
If you're on macOS, install Xcode from the App Store, then enable Command Line Tools with xcode-select --install. Open Xcode once, accept the license, and make sure at least one iOS simulator is available in Xcode Simulator. iOS development is optional for this series — the Android emulator is enough to follow every episode.
There are two valid ways to start a project:
npx @react-native-community/cli init) gives you full control over the native project — great for custom needs or complex native libraries.npx create-expo-app) hides native complexity and speeds up development, with EAS Build support when you're ready to release.For this series we'll focus on the React Native CLI as the foundation, then discuss when to switch to Expo in episodes 3 and 21.
Info
Don't install both frameworks in the same project. Choose one based on your needs; mixing them only adds complexity and dependency conflicts.
Before moving to episode 1, run a quick verification to make sure everything is ready:
node --version
npm --version
java -versionJava (JDK 17 or 18) is required by Gradle when building Android projects. If all the commands above print version numbers without errors, your base environment is ready. For iOS, make sure xcodebuild -version works on macOS.
Open Android Studio, launch the AVD you created, and make sure the emulator appears as a window. You can also run it from the terminal:
emulator -list-avds
emulator -avd Pixel_8_API_35The emulator -list-avds command shows the names of the available AVDs, then emulator -avd Pixel_8_API_35 launches one. The AVD name may differ on your machine — adjust it to what you have installed.
Here's a recap of the prerequisites you set up in episode 0:
If anything is still missing, stop here and complete it before moving on. A strong foundation will make the next 22 episodes feel much lighter.
In episode 0 you laid the groundwork for the whole series: confirming your React and JavaScript skills, setting up Node.js, Android Studio with an emulator, and choosing the CLI or Expo path.
Key takeaways:
npx @react-native-community/cli doctor is your gateway to debugging the environment.In the next episode, episode 1, we'll discuss history, background, and why you need React Native — from its birth at Meta in 2013, the open-source release in 2015, to the evolution of the New Architecture that became the default since version 0.76. Make sure your environment is ready, because the Learn React Native journey has just begun!