• Articles
  • Tutorials
  • Interview Questions

How to Setup React Native Environment?

How to Setup React Native Environment?

React Native, a renowned cross-platform mobile development framework, empowers developers to build native apps using JavaScript. According to the Stack Overflow Developer Survey 2023, it ranks as the 5th most popular technology, with 16.48% adoption. Furthermore, Statista confirms its dominance, highlighting a 38% market share. This guide elucidates the React Native environment setup. Dive into the process of how to set up a React Native environment, ensuring smooth integration of React Native environment variables for optimal development.

Table of Contents:

Unlock the power of React with our Comprehensive React Course – Your Ultimate React Tutorial and Learn ReactJS Today!

Video Thumbnail

Prerequisites for React Native

Before starting on your journey with React Native, it’s imperative to ensure that your system meets the necessary hardware and software requirements. Proper setup will facilitate a smooth and efficient development experience.

Hardware Requirements:

  • Processor: A modern multi-core processor, preferably i5 or higher
  • Memory: Minimum of 8GB RAM, though 16GB is recommended for optimal performance.
  • Storage: At least 10GB of free disk space to accommodate the installation and project files

Software Requirements:

  • Operating System: React Native supports both Windows and macOS X. For Windows, Windows 11 is recommended, while for macOS, Mojave or newer versions are ideal.
  • Node.js and NPM: These are fundamental to React Native. Ensure you have the latest stable versions installed. If you need to familiarize yourself with their setup, refer to our Node.js and NPM installation tutorial for a comprehensive guide.
  • Java Development Kit (JDK): JDK 8 or newer is essential for Android development.
  • Android Studio: For Android app development, having Android Studio installed is crucial, as it provides the necessary tools and emulators.
  • Xcode: For those targeting iOS, Xcode is a must-have on macOS X.

Installing React Native

This React Native environment setup guide provides you with detailed instructions for how to set up a React Native environment and build your first React Native application. 

React Native environment setup can be done in two ways:

  • Expo Go Quickstart 
  • React Native CLI Quickstart

For those unfamiliar with mobile development, the most straightforward approach is to use Expo Go

  • Expo encompasses a comprehensive suite of tools centered around React Native. Among its various features, its capability to facilitate the creation of a React Native application in mere minutes stands out prominently. 
  • The prerequisites include a recent version of Node.js and either a mobile device or an emulator. 
  • For those keen on experimenting with React Native directly via a web browser prior to any installations, the Snack platform is available for exploration.

Follow the below-mentioned commands to get your React Native environment setup up and running:

  1. Install Expo CLI globally using npm:
npm install -g expo-cli
Install Expo Cli
  1. Create a new Expo project:
npx create-expo-app AwesomeProject
Create Project

Or, 

yarn create expo-app AwesomeProject
Create Project
  1. Navigate to your project folder and start the development server:
cd AwesomeProject
npx expo start

Or,

cd AwesomeProject
yarn expo start
Expo start

For individuals with prior experience in mobile development, the React Native CLI Quickstart is recommended. 

  • Commencing with this requires either Xcode or Android Studio. If you’ve previously installed any of these tools, the setup process should be swift and straightforward. 
  • Conversely, if these tools are absent, anticipate approximately an hour for installation and configuration.
  • Windows and Linux operating systems do not support iOS application development. 

Setting React Native Environment Windows

This section will guide you through the installation of React Native into your Windows system:

  • To get React Native environment setup in your Windows device, you need Chocolatey, Node Js, Java Development Kit (JDK), Python, Android Studios, and React Native Command Line Interface (CLI) installed in your system. 

Installing React Native Environment Setup Dependencies:

Follow the below-mentioned steps to download the prerequisite software for React Native environment setup: 

  • Chocolatey:
    • Open a command prompt with administrative rights.
    • Run the following command to install Chocolatey: 
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
  • Node Js and NPM:
    • Using chocolatey run:
choco install nodejs
  • Verify installation:
node -v
npm -v
  • Java JDK:
    • Run the command using Chocolatey: 
choco install openjdk
  • Python:
    • Some React Native dependencies require Python. Install it with:
choco install python
  • React Native CLI:
    • With Node.js and npm set up, install the React Native Command Line Interface using:
npm install -g react-native-cli
  • Android Studio:
    • Navigate to the official Android Studio website and download the installer.
android studio
welcome to android studio
choose component android studio
configure setting
installing
complete installing
Android Studio Setting
Wecome
Install type
SDK Component Setup
License Agreement
Downloading Components

Make sure the boxes next to all of the following items are checked:

  • Android SDK
  • Android SDK Platform
  • Android Virtual Device
  • If you are not already using Hyper-V: Performance (Intel ® HAXM) (See here for AMD or Hyper-V)
Welcome to Android
Platform Tools

To access the detailed package options in the SDK Manager, follow these informative steps:

  • Launch the SDK Manager and navigate to the ‘SDK Platforms’ tab.
  • At the bottom right corner of the window, locate the checkbox labeled ‘Show Package Details’ and select it.
  • Within the expanded list of available packages, search for and expand the entry corresponding to Android 13, also known as ‘Tiramisu’.
  • Confirm that the following items are checked:
    • Android SDK Platform 33
    • Either ‘Intel x86 Atom_64 System Image’ or ‘Google APIs Intel x86 Atom System Image’.
  • Now, switch to the ‘SDK Tools’ tab.
  • Similar to the previous step, ensure that you have selected the ‘Show Package Details’ checkbox.
  • Locate the entry for ‘Android SDK Build-Tools’ and expand it.
  • Verify that version 33.0.0 is the one selected.
  • To apply these changes, click the ‘Apply’ button. This action will initiate the download and installation of the Android SDK along with the relevant build tools.

By following these informative instructions, you can precisely configure your SDK Manager to acquire the necessary components for your Android development environment.

To establish the requisite configuration for React Native development on your Windows environment, it is imperative to configure the ANDROID_HOME environment variable. This is an essential step, as React Native tools rely on certain environment variables to facilitate the construction of applications incorporating native code.

Please adhere to the following formal instructions:

1. Access Windows Control Panel: Open the Windows Control Panel on your system.

2. Modify User Accounts: Within the Control Panel, navigate to ‘User Accounts’ and subsequently select ‘User Accounts’ once more.

3. Environment Variables: Proceed to ‘Change my environment variables’.

4. Create ANDROID_HOME Variable:

  • Under the ‘User Variables’ section, select ‘New…’ to establish a new user variable named ANDROID_HOME.
  • Assign this variable the value of the path leading to your Android SDK installation. Typically, the default installation directory is as follows:
     %LOCALAPPDATA%\Android\Sdk
  • Should you require the precise SDK location, it can be found within Android Studio’s ‘Settings’ dialog, accessible via ‘Appearance & Behavior’‘System Settings’‘Android SDK’.

5. Refresh Environment Variables: To ensure the newly created environment variable is effectively loaded, initiate a new Command Prompt window.

6. Validation via PowerShell:

  • Launch PowerShell and input the following command: `Get-ChildItem -Path Env:\`
  • Confirm that the ANDROID_HOME variable has been successfully added to your environment.

7. Incorporate platform-tools into PATH: Return to the Windows Control Panel and access ‘User Accounts’ followed by ‘User Accounts’ once more.

8. Edit PATH Variable: Locate and select the ‘Path’ variable from the list.

9. Add platform-tools Path:

  • Opt to ‘Edit’ the selected variable.
  • Introduce a new entry by clicking ‘New’ and provide the path to the ‘platform-tools’ directory, which, by default, is situated at: 
%LOCALAPPDATA%\Android\Sdk\platform-tools

These steps ensure the appropriate configuration of the ANDROID_HOME variable and the inclusion of platform-tools within the PATH variable, both of which are essential for React Native development on the Windows platform.

It is advisable to utilize the React Native Command Line Interface (CLI) efficiently. Rather than installing and managing a specific version of the CLI globally, it is recommended to access the current version at runtime using the ‘npx’ tool, which is bundled with Node.js. This approach ensures that the current stable version of the CLI is automatically downloaded and executed whenever a relevant command is invoked.

To initiate a new React Native project, the ‘npx react-native’ command is employed. For instance, to create a project named ‘AwesomeProject’, the following command is executed:

npx react-native@latest init AwesomeProject

It is worth noting that if a global ‘react-native-cli’ package had been previously installed, its removal is advised to prevent any unforeseen issues:

npm uninstall -g react-native-cli @react-native-community/cli

These guidelines facilitate the establishment of a suitable development environment for React Native on a Windows operating system, allowing for the smooth creation and management of projects.

To commence the execution of your React Native application, please follow these formal steps:

Step 1: Starting Metro

  • In the initial phase, it is crucial to commence Metro, the JavaScript bundler integral to React Native. 
  • Metro serves the purpose of amalgamating your code and its associated dependencies into a single JavaScript file. 
  • This consolidated file is then utilized for your application’s functionality.
  • To initiate Metro, kindly execute the following command within your React Native project directory:
npm start

or,

yarn start

Step 2: Launching Your Application

  • While allowing Metro Bundler to operate independently in its designated terminal, you must inaugurate your application in a separate terminal instance located within your React Native project directory. 
  • Execute the following command:
npm run android

or,

yarn android
  • If all configurations have been established correctly, you should observe your newly created application springing to life within your Android emulator in the near term.
  • By sticking to these structured procedures, you ensure the systematic launch and functioning of your React Native application, thereby facilitating the development and testing process.

Coding First Hello World React Native Application

Below is a simple React Native application that displays a greeting message. We will provide you with the necessary files and their content to run the application in an IDE.

Setting Up a New React Native Project: Once you are done with the React Native environment setup, you can create a new React Native project on a greeting application using the following command:

npx react-native init SimpleGreetingApp

App.js (Main Application File): Replace the content of App.js in your project directory with the following code:

import React from 'react';
import { SafeAreaView, Text, StyleSheet } from 'react-native';
const App = () => {
  return (
    <SafeAreaView style={styles.container}>
      <Text style={styles.greetingText}>Hello, React Native World!</Text>
    </SafeAreaView>
  );
};
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  greetingText: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
});
export default App;

Running the Application:

  • For iOS: npx react-native run-ios
  • For Android: npx react-native run-android

Necessary Files: When you initialize a new React Native project using the command provided, it will automatically generate all the necessary files and directories required to run the application in an IDE. Some of the main files and directories include:

  • App.js: Main application file
  • index.js: Entry point of the application
import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';
AppRegistry.registerComponent(appName, () => App);
  • android/ and ios/:
    • Directory containing Android-specific code and a directory containing iOS-specific code, respectively 
    • These directories are auto-generated when you initialize a new React Native project. 
    • They contain platform-specific code and configurations for Android and iOS, respectively.
  • node_modules/: 
    • The directory contains all the dependencies. This directory contains all the dependencies required for your project. 
    • It’s populated when you run npm install or yarn install.
  • package.json: File listing all the dependencies and scripts
{
  "name": "SimpleGreetingApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
     "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
     "react": "17.0.2",
     "react-native": "0.65.1"
  },
  "devDependencies": {
     "@babel/core": "^7.14.6",
    "@babel/runtime": "^7.14.6",
    "@react-native-community/eslint-config": "^3.0.0",
     "babel-jest": "^27.0.6",
   "eslint": "^7.32.0",
    "jest": "^27.0.6",
    "metro-react-native-babel-preset": "^0.66.2",
    "react-test-renderer": "17.0.2"
  },
   "jest": {
 "preset": "react-native"
 }
}

IDE: You can use any IDE of your choice, but Visual Studio (VS) Code is a popular choice among React Native developers. It offers a range of extensions that can enhance your development experience.

Remember to navigate to the project directory (SimpleGreetingApp) in your operating system’s terminal or command prompt before running any React Native commands.

Debugging a React Native Project 

Debugging is an integral part of the development process. React Native, with its robust toolset, offers multiple ways to diagnose and fix issues. Here’s a guide based on the previously generated content to help you debug your React Native project effectively:

Enable Debug Mode:

  • iOS: Shake your device or simulator 
  • Android: Shake your device or press `Ctrl + M` in the emulator
  • After performing the above, a developer menu will appear. Select `Debug JS Remotely`.

Use Chrome Developer Tools:

Once you’ve enabled ‘Debug JS Remotely’, your app’s JavaScript code will run inside Chrome. You can then use Chrome’s developer tools for debugging. To access them, open Chrome and navigate to `chrome://inspect`. Click on `Inspect` under your app’s name.

Console Logs:

A straightforward method to debug is by using `console.log()`. Insert these statements in your code to print out values and track the flow. In the Chrome Developer Tools, these logs will appear in the console tab.

React DevTools:

Install React DevTools by running:

npm install --save-dev react-devtools

Once installed, start it with `npx react-devtools`. This tool provides a visual interface to inspect and interact with your component hierarchy.

Error Messages:

React Native provides descriptive error messages. When an error occurs, a red screen with details about the error will appear. This is particularly useful for syntax errors or unhandled exceptions.

Network Requests:

If you’re debugging network requests, the ‘Network’ tab in Chrome Developer Tools is invaluable. Here, you can inspect all network requests made by your app, view their status, response payloads, and more.

Performance Issues:

For performance-related debugging, use the ‘Performance’ tab in Chrome Developer Tools. It allows you to record and analyze the runtime performance of your app, helping identify bottlenecks.

Native Modules:

If you’re using native modules or writing platform-specific code in the `android/` or `ios/` directories, you might need platform-specific debugging tools like Android Studio for Android or Xcode for iOS.

Troubleshooting a React Native Project 

Given the structure and content of the React Native project described earlier, here are some common troubleshooting steps and commands to address potential issues:

Project Doesn’t Start or Throws an Error:

When the project doesn’t start or throws an error,

npx react-native start --reset-cache

This command starts the Metro Bundler and resets the cache, which can resolve issues related to outdated or corrupted cache.

Dependencies Issues:

If you encounter issues related to dependencies or node_modules/,

rm -rf node_modules/ && npm install

This command removes the node_modules/ directory and reinstalls all dependencies from package.json.

Platform-Specific Issues:

For Android:

If the Android build fails, you can try cleaning the build by navigating to the android/ directory and running:

./gradlew clean

Ensure you have the correct Android SDK and build tools installed.

For iOS:

If the iOS build fails, navigate to the ios/ directory and run:

pod install

This command installs or updates necessary CocoaPods dependencies.

Make sure you have the updated version of Xcode installed and that it’s set up correctly.

Application Errors on Device/Emulator:

Ensure that the device or emulator has network access and can communicate with the Metro Bundler.

If you see a red error screen, read the error message carefully. It often provides specific details about what went wrong. Common issues include missing components or incorrect imports.

Linting and Code Quality Issues:

npm run lint

This command runs ESLint, which checks your code for stylistic issues and potential errors. Address any warnings or errors it flags.

Testing Issues:

npm test

This command runs Jest tests. If tests fail, the output will provide details on which tests failed and why.

Best Practices for React Native Development 

React Native, a groundbreaking framework for cross-platform mobile application development, has gained significant traction in the developer community. To harness its full potential and ensure the creation of robust, scalable, and efficient applications, sticking to these best practices for React Native development is paramount. 

Here, we outline some of the key React Native best practices that every developer should integrate into their workflow.

  • Component Modularization: Break down your application into reusable components. This not only enhances code readability but also facilitates easier maintenance and updates.
  • State Management: Utilizing tools like Redux or MobX can aid in managing the application state more effectively, ensuring data consistency and streamlined logic.
  • Optimized Rendering: Be judicious with rendering. Use the `PureComponent` or `shouldComponentUpdate` lifecycle methods to control unnecessary renders, thereby boosting performance.
  • Error Handling: Implement comprehensive error handling mechanisms. Error handling includes using tools like Sentry to monitor and address issues in real time.
  • Consistent Styling: Adopt a consistent styling approach across your application. Libraries like Styled Components can be instrumental in achieving this uniformity.
  • Thorough Testing: Employ testing libraries like Jest and Enzyme to write unit and integration tests. It ensures that your application remains bug-free and functions as intended.
  • Regular Updates: Stay updated with the latest React Native versions. Regular updates not only provide new features but also address known issues, enhancing app stability.
  • Native Modules: For functionalities not covered by React Native, don’t hesitate to write native modules. Native modules ensure that your application remains feature-rich without compromising on performance.
  • Documentation: Maintain comprehensive documentation. It aids in onboarding new team members and serves as a reference during the development lifecycle.

Conclusion

This step-by-step guide on setting up a React Native environment equips you with the essential knowledge to kickstart your mobile app development journey. Establishing a well-configured environment is the foundational step towards building robust and cross-platform applications. As you embark on your React Native development, remember that a solid development environment ensures smoother coding, debugging, and testing processes, ultimately saving time and effort. Stay updated with the latest React Native releases and best practices to harness the full potential of this versatile framework, and bring your mobile app ideas to life with confidence and efficiency.

Frequently Asked Questions

What is the environment setup for React Native?

Setting up a React Native environment involves configuring your development system to build and run React Native applications efficiently. Begin by installing Node.js and npm for package management. Next, utilize a code editor, such as Visual Studio Code, and install the React Native CLI. Lastly, ensure to set up Android Studio or Xcode for Android and iOS development, respectively. This comprehensive React Native development environment setup enables smooth application development.

What is the environment setup for React Native XCode?

Setting up the React Native environment for Xcode involves several key steps. First, ensure you have Xcode installed from the Mac App Store. Next, install Node.js and npm if not already done. Then, use npm to install React Native CLI globally. Create a new React Native project and open it in Xcode. Finally, configure Xcode to run the project on your preferred simulator or device. This React Native Xcode environment setup ensures a smooth development experience. For a detailed guide on how to set up React Native for Xcode, refer to trusted online resources or documentation.

How is the environment setup for React Native?

To set up a React Native environment, follow these steps. First, ensure Node.js and npm are installed. Next, install React Native CLI globally. Create a new React Native project with ‘npx react-native init’. Install required dependencies using ‘npm install’. Finally, run your app with ‘npx react-native run-android’ or ‘npx react-native run-ios’. This React Native environment setup guide simplifies react native environment setup and how to set up react native environment.

Course Schedule

Name Date Details
Python Course 14 Dec 2024(Sat-Sun) Weekend Batch View Details
21 Dec 2024(Sat-Sun) Weekend Batch
28 Dec 2024(Sat-Sun) Weekend Batch

About the Author

Senior Consultant Analytics & Data Science

Sahil Mattoo, a Senior Software Engineer at Eli Lilly and Company, is an accomplished professional with 14 years of experience in languages such as Java, Python, and JavaScript. Sahil has a strong foundation in system architecture, database management, and API integration.