Open In App

React Tutorial

Last Updated : 17 Jun, 2024
Like Article

React is a powerful JavaScript library for building dynamic and interactive user interfaces (UIs). It is developed by Facebook. React is known for its component-based architecture which allows you to create reusable UI elements, making complex web applications easier to manage and maintain. React is used to build single-page applications.

In this React tutorial, you’ll learn all the basic to advanced concepts of React such as React components React props, React state, Functional components in React, React hooks, etc.

React Tutorial Prerequisites:

Also Check: Recent Articles on ReactJS

Getting Started with React: Installation and Environment Setup

Before embarking on your React journey, ensure you have a suitable development environment set up. Here’s a roadmap to get you started:

  1. Node.js and npm: Download and install Node.js ( as it provides the runtime environment for JavaScript code execution. npm (Node Package Manager) is bundled with Node.js and is used to manage project dependencies.
  2. Create React App (CRA): Using Create React App (CRA) to establish a new React project with minimal configuration. Run npx create-react-app my-react-app in your terminal, replacing my-react-app with your desired project name.

Basic Example of React:

import React from 'react';
import ReactDOM from 'react-dom/client';

function Hello(props) {
  return <h1>Hello GeeksforGeeks</h1>;

const container = document.getElementById("root");
const root = ReactDOM.createRoot(container);
root.render(<Hello />);

This code defines a functional component named App that returns JSX code displaying the text “Hello GeeksforGeeks”. Save the file and run your development server using npm start. Navigate to http://localhost:3000/ in your browser to view your webpage.

Why Learn React JS?

React, the popular JavaScript library, offers several exciting reasons for developers to learn it.

First, React is flexible – once you learn its concepts, you can use it across various platforms to build quality user interfaces. Unlike a framework, React’s library approach allows it to evolve into a remarkable tool.

Second, React has a great developer experience, making it easier to understand and write code. Third, it benefits from Facebook’s support and resources, ensuring regular bug fixes, enhancements, and documentation updates. Additionally, React’s broader community support, excellent performance, and ease of testing make it an ideal choice for web development.

Features of React

1. JSX (JavaScript Syntax Extension):

  • JSX combines HTML and JavaScript, allowing you to embed JavaScript objects within HTML elements.
  • It enhances code readability and simplifies UI development.


const name = "GeekforGeeks";
const ele = <h1>Welcome to {name}</h1>;

2. Virtual DOM (Document Object Model):

  • React uses a virtual DOM, which is an exact copy of the real DOM.
  • When there are modifications in the web application, React updates the virtual DOM first and then computes the differences between the real DOM and the virtual DOM.
  • This approach minimizes unnecessary re-rendering and improves performance.

3. One-way Data Binding:

  • React follows one-way data binding, where data flows from parent components to child components.
  • Child components cannot directly return data to their parent components, but they can communicate with parents to modify states based on provided inputs.

4. Performance:

  • React’s virtual DOM and component-based architecture contribute to better performance.
  • Separate components allow efficient rendering and faster execution.

5. Extension:

  • React has a rich ecosystem and supports various extensions.
  • Explore tools like FluxRedux, and React Native for mobile app development and server-side rendering.

6. Conditional Statements in JSX:

  • JSX allows writing conditional statements directly.
  • Display data in the browser based on provided conditions.


const age = 12;
if (age >= 10) {
return <p>Greater than {age}</p>;
} else {
return <p>{age}</p>;

7. Components:

  • React divides web pages into reusable and immutable components.
  • Component-based development simplifies code organization and maintenance.

Core React Concepts

here are some essential concepts to learn:

  • Props: Components can receive data from parent components through props, enabling you to pass information and customize component behavior.
  • State: Components can manage their internal state using the useState hook. This state dictates the component’s appearance and behavior, and updates trigger re-renders.
  • Lifecycle Methods: React provides lifecycle methods like componentDidMount and componentDidUpdate that allow you to perform actions at specific stages of a component’s lifecycle.
  • Conditional Rendering: Control what gets displayed on the screen based on certain conditions using conditional statements within JSX.

React Advantages

  • Composable: We can divide these codes and put them in custom components. Then we can utilize those components and integrate them into one place.
  • Declarative: In ReactJS, the DOM is declarative. We can make interactive UIs by changing the state of the component and ReactJS takes care of updating the DOM according to it.
  • SEO Friendly: ReactJS affects the SEO by giving you a SPA (Single Page Application) which requires Javascript to show the content on the page which can be rendered and indexed.
  • Community: ReactJS has a huge community because of its demand each company wants to work with ReactJS. Companies like Meta, Netflix, etc built on ReactJS.
  • Easy to learn: HTML-like syntax of JSX makes you comfortable with the codes of React, it only requires a basic knowledge of HTML, CSS, and JS fundamentals to start working with it.
  • If you want to learn more refer to this article React JS Advantages
  • Debugging is Easy: The debugging of ReactJS is unidirectional which means while designing any app using ReactJS the child components are nested within parent components. So, the data flow is in a single direction it gets more easier to debug errors.

React Tutorial

React Basic Concepts

React Hooks

React DOM Events

Lifecycle of Components

Important React Packages

React Interview Questions

React Online Quizs

React Online Practice Exercise

Embark on your React learning journey with our online practice portal. Start by selecting quizzes tailored to your skill level. Engage in hands-on coding exercises, receive real-time feedback, and monitor your progress. With our user-friendly platform, mastering React becomes an enjoyable and personalized experience.

Elevate your coding expertise by going through our carefully curated Free Online React Quiz.

React Complete References

Refer to the following articles to have a quick glance at all the important key concepts which are helpful while developing web applications using React

If you want to have a simple, quick reference to commonly used React methods you can refer to ReactJS Cheat Sheet article

Frequently Asked Questions on React

1. What is React used for?

The primary goal of React is to create a User Interface, Single-Page Application, Progressive Web Application and more.

2. Which language is used in React?

React used Javascript programming language.

3. Is React a front-end language?

React globally used for Front-end JS framework and it popular with both software and project speoncer.

4. Which is in demand ReactJS or AngulerJS in 2024?

React is far more popular than AngulerJS because ReactJS comes with more libraries.

5. Which is better NodeJS or ReactJS or AngularJS

Choosing the framework always depends very much on your requirements. All of these three frameworks are quite popular, and users choose them based on what they want to do. But if we do so more specifically, then ReatJS is better.

6. Is this ReactJS tutorial for beginners or for advanced

As we said at the beginning of this article, this course is for beginners as well as for advanced. 

Similar Reads

Difference between React.Component and React.PureComponent?
A Component is one of the core building blocks of React. In other words, we can say that every application you will develop in React will be made up of pieces called components. But React has two types of Components: React.PureComponent: It is one of the most significant ways to optimize React applications. By using the pure component, there is no
3 min read
How to Use Routing with React Navigation in React Native ?
Almost every mobile application requires navigating between different screens. React Native provides an elegant and easy-to-use library to add navigation to native applications: react-navigation. It is one of the most popular libraries used for routing and navigating in a React Native application. Transitioning between multiple screens is managed b
4 min read
Building a react boilerplate from scratch without using create-react-app
In this article, we are going to build a basic boilerplate for a React project from scratch without using the create-react-app or any other predefined boilerplate. This is a great experience for any react developer to look into what is happening behind the scenes. The file structure for our project will be looking like the following. You will under
7 min read
Create a Card View in React native using react-native-paper
React Native is a framework developed by Facebook for creating native-style apps for iOS &amp; Android under one common language, JavaScript. Initially, Facebook only developed React Native to support iOS. However, with its recent support of the Android operating system, the library can now render mobile UIs for both platforms. Approach: In this ar
2 min read
Create an Activity Indicator in react-native using react-native-paper library
React Native is a framework developed by Facebook for creating native-style apps for iOS &amp; Android under one common language, JavaScript. Initially, Facebook only developed React Native to support iOS. However, with its recent support of the Android operating system, the library can now render mobile UIs for both platforms. Prerequisites: Basic
2 min read
How to add a Progress Bar in react-native using react-native-paper library ?
React native is a framework developed by Facebook for creating native-style apps for iOS &amp; Android under one common language, JavaScript. Initially, Facebook only developed React Native to support iOS. However, with its recent support of the Android operating system, the library can now render mobile UI's for both platforms. Approach: In this a
3 min read
React Suite Icon extension React Icons
A React suite is a library of React components, sensible UI design, and a friendly development experience. It is supported in all major browsers. It provides pre-built components of React which can be used easily in any web application. In this article, we'll learn about React Suite Icon extension React icons. React Icons, contains various popular
3 min read
Implement Nested Routes in React.js - React Router DOM V6
Nested routes in React JS are implemented using the outlet in React Router Dom. Routing in React not only provides routing for the pages but also for switching the content inside that page. Nested routes implement this by defining Routes for Child components inside parent route components. Prerequisites: React JSReact RouterReact Router DomApproach
4 min read
How to Add MUI React Button Icon in React-Bootstrap ?
In this article, we will learn how to add the mui react button icon in react-bootstrap. Icons can be added in the react-bootstrap by importing the MUI icon component and using it within your React-Bootstrap button. React-Bootstrap is a front-end framework that was designed keeping React in mind. Steps to Create React Application And Installing Modu
2 min read
Mastering React Routing: Learn Navigation and Routing in React Apps
In this article, we will learn how to implement Routing in React in an efficient way by implementing various aspects of routing such as dynamic routing, programmatically routing, and other concepts. Table of ContentWhat is Navigation in React?Routing with no page found(error 404) error handlingProgrammatic Navigation in ReactDynamic Routing with Re
6 min read
Article Tags :