How to start and setup the ReactJS project? — A full Beginner guide

Siddharth Rastogi
4 min readAug 8, 2023


As we all know, ReactJS has rapidly gained popularity among organizations and web developers due to its simplicity, and efficiency. Companies are migrating and already migrated their old web applications into ReactJS.

As a JavaScript library developed by Facebook, ReactJS provides a powerful tool set to create interactive and dynamic user interfaces in single page application.

This article is all about introducing beginners to ReactJS and helping them kick-start their journey into building web applications with this powerful library.

Understanding ReactJS

ReactJS is a JavaScript library that allows developers to build reusable UI components and manage the state of an application efficiently. It uses a Virtual DOM (Document Object Model) instead of direct Real DOM to efficiently update only the changed parts of a page, resulting in faster and smoother user experiences.

To start with ReactJS, you should have a basic understanding of HTML, CSS, and JavaScript. With the help of this basic knowledge, you can start working on React projects.

Setting Up the Environment

Before moving into ReactJS, ensure you have Node.js and npm (Node Package Manager) installed on your machine (download it from here). Use npm to create a new React application by running the following command:

npx create-react-app my-react-app

Once the project repository is created you can use the below commands to start:

cd my-react-app

npm start
Sample Project

Component-Based Architecture

ReactJS follows a component-based architecture, where each UI element is represented as a reusable component. Components can have their own state and props (properties), allowing for modular development. By dividing a complex UI into smaller and simpler units, that can be independently developed, tested, and integrated.

Understanding the structure and lifecycle of React components is crucial for building robust applications. We will discuss further how lifecycle methods and hooks work in a separate article.

Creating Your First Component

Begin by creating a simple React component. Open the ‘src‘ folder in your project and navigate to the ‘App.js‘ file. Replace the existing code with the following:

import React from 'react';

function App() {
return (
<h1>Hello there!</h1>

export default App;

To render the component onto the webpage, go to the ‘src‘ folder and open ‘index.js‘. Modify the code as follows:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

<App />

What is State and Props?

The state represents the current condition of a component (it can be of any datatype), while props are used to pass data from a parent component to a child component. Learning how to manage state and use props effectively is fundamental to building dynamic and interactive applications.

Styling with CSS

ReactJS allows you to apply CSS to your components in various ways same as in vanilla javascript. You can use inline styles, external CSS files, or CSS-in-JS libraries like Styled Components. It totally depends on your approaches to find what works best for your project.

Event Handling in Components

Interaction with the web application is crucial. ReactJS makes event handling simple and intuitive. Learn how to handle events like clicks, form submissions, and input changes to create engaging user experiences. It is same

Deploying Your React App

Once you’ve built your React application, it’s time to share it with the world. Various platforms like GitHub Pages, Netlify, or Vercel can help you deploy your application and make it accessible to others.


That’s all for this article. Starting with ReactJS may seem scary at first. Still, by understanding its component-based architecture, state management, and props system, you’ll be well on your way to building powerful web applications. Keep experimenting, learning from the vast React community, and practicing regularly to improve your React skills.

I hope you enjoyed the article and if you found this useful, then please share it with your friends and colleagues. I write tech blogs that can help to boost your development experience.

You can checkout here SidTechTalks for more cool tech articles.

Also read,



Siddharth Rastogi

I am a full stack developer, I have an expertise in Web Development. I write tech stuff and share my knowledge with others through blogs & articles.