React JS Environment Setup and Component Creation

This article introduces the environment setup and how to create React component.

Overview of React JS

React is a JavaScript library for building interactive User Interfaces (UI’s) & it’s developed by Facebook in 2011. It follows the component-based approach which helps in building complex and reusable UI components.

Environment Setup
Tools required for ReactJS environment
1. Node.js
2. Visual Studio Code(Editor) / you can use any editor

Steps to Setup ReactJS Environment

To run the React application, NodeJS should be installed on our PC.
Then follow the below steps:

Step 1: Install NodeJS. You need to visit the official download link of NodeJS to download and install the latest version. Once we have set up NodeJS on our PC, the next thing we need to do is to set up React Boilerplate.

Step 2: Create a directory for React.js App:
using command –
mkdir ReactWorkspace

picture1

Step 3: Go to newly created ReactWorkspace directory location using command – see screenshot:

cd ReactWorkspace

Step 4: Setting up React Boilerplate.

We will install the boilerplate globally.

npm install –g create-react-app

Create a React Boilerplate using the above command – see screenshot.

-g represents the global installation type.

Step 5: After successfully installing a global react environment. Create react demo app using the following command:

create-react-app demoapp

The above statement will create a new directory named demoapp inside your current directory with a bunch of files needed to successfully run a React app.

Let’s have the look at the directory created by the above command:

In the following directory, you will see a number of files. The main files we will be working on within the basic course are index.html and index.js. The index.html file will have a div element with id = “root”, inside which everything will be rendered and all of our React code will be inside the index.js file.

Now, that we have successfully set up the development environment for React Js.

The last thing is to start the development server.

 

Step 6: To start the development server, go inside your current directory “demoapp” and execute the below command:

npm start

After successfully running the above command your compiler will show the below message on your screen:

And after starting our first React application, we will see the default screen on the browser.

Component creation in React Js:


            Components are the reusable peace of code for building blocks of any React application. It’s like JavaScript functions. They accept arbitrary inputs (called “props”) and return React elements describing what should display on the screen.

We have seen the default structure of the ReactJS application in step 5 second screenshot.

Create a new component file in /src folder-
I have created Welcome.js and add component code in that file-


import React from 'react';
class Welcome extends React.Component {
render() {
return (

Welcome to React Js

)
}
}
export default Welcome;

see the following screenshot:

And we need to add our newly created Welcome.js file into index.js to see it on the browser screen:

Now we can see the output on browser screen:

In the above article, we learned how to setup React JS Environment and create simple components.

Process of Understanding and Adapting to React Js

When I got to know that our company will be focusing on new technologies, I was excited and nervous at the same time. JavaScript is the language that is currently trending, so it was an obvious preference. We were using JavaScript but only in limited projects that are making the pages dynamic. There are many frameworks built-in JavaScript for both frontend and backend. Initially, it was finalized API will be built in Nodejs as it is widely used and very easy to understand and as it is widely used it is easy to develop and debug code. I found some useful tutorials for Express Js (Node Js framework) and it felt very easy to understand as we had experience in Laravel Framework (PHP framework). API for me was a straightforward task but the real fun began when we started with the frontend part. Initially, it was finalized to go with AngularJs (framework) as it is a widely used JavaScript framework but it was not straightforward to understand and many people had issues adapting the angular Js. And then we were introduced to React Js (we got tutorials from an expert as well).

So, after working on React Js for the last 4 months, I will put forward the blockers we had and also the interesting bits of React Js. many people confuse it as an Alternative framework to AngularJs but it is not. It is an open-source Library created and managed by Facebook. React Js can be integrated with any framework as it is the V of MVC that is, it just renders the code in the browser with the help of JSX. So, let’s start with the Advantage we felt of the React Js.

1) Easy to Use

Documentation is the key to any framework/library and the documentation for reacting is maintained very well and it’s easy to understand and move forward with. There are also many courses and tutorials available online which helps further.

2) Reusable Components

Components are used for managing the Html code which will be further rendered in the browser. A component has its own set of control and logic. Components can be nested with each other that further helps for reusability.

3) Virtual Dom

React Js uses a virtual DOM-based mechanism to fill data in HTML DOM. The virtual DOM works fast as it only changes individual DOM elements instead of reloading complete DOM every time

4) Benefit of JavaScript Library

React Js is used by most of the Developers thanks to its flexible nature, there are no specific parameters. Developers get a free license to manage the code as per their feasibility

Now every coin has two sides and React Js is no different. Adapting to React Js was not a tricky task but there were some blockers that we can consider as a disadvantage. The following are the Disadvantages listed below.

1) JSX is a barrier

React Js uses JSX which has a syntax similar to Html, but therein lies the problem. Any developer who has used Html finds it hard to adapt to the JSX due to its complexity.

2) V of MVC

React Js cannot be used as a stand-alone platform as it is wholly dependent on the other technology to manage the data. They are only the UI layers of the app and nothing else.

3) Hard to Adapt the Pace of its Development

React Js introduced hooks which help in reducing code Complexity and Reusability but for a newbie, it becomes hard to debug the code as all the previous code is not built around hooks. So in general developers have to always adapt to the changes being done in the library.

4) Documentation can be Maintained Better

As I mentioned above React Js is a very rapidly growing library but if we look at the documentation it does not provide adequate information on the new things introduced and the developers are left with trial and error for adapting to new things.

5) Not SEO Friendly

There are tools available to Render our Meta tags on the page but unfortunately, Facebook does not crawl through them and we are left with managing the Tags with some other Platform for the Particular Page.

Overall if we consider, React Js is the Present and the Future of JavaScript web development. It has its sets of Pros and Cons but to be honest it makes the process of Dynamic web development fun and easy thanks to its flexibility.