React: overview

React: overview
Written by Nilima PaulDecember 4, 2021
12 min read
React js
Nilima Paul

Technology Security Analyst

Today we will explain React and its advantages and disadvantages.

What is React

React is a JavaScript library created for building fast and interactive user interfaces for web and mobile applications. It is an open-source, component-based, front-end library responsible only for the application’s view layer. In Model View Controller (MVC) architecture, the view layer is responsible for how the app looks and feels. React was created by Jordan Walke, a software engineer at Facebook.

Let’s take a look at an Instagram webpage example, entirely built using React, to get a better understanding of how React works. As the illustration shows, React divides the UI into multiple components, which makes the code easier to debug. This way, each component has its property and function

Now that we know what React is let’s move on and see why React is the most popular front-end library for web application development.


Features of React

Let us look at the essential and most demanding features :

1. JSX

JSX means JavaScript XML. It is an extension of JS language syntax. It provides a way to render components using a syntax similar to HTML. It uses JSX to write its components. It can use pure JavaScript also but prefers JSX. Babel uses it, a pre-processor, to convert text similar to HTML found in JavaScript files into standard JS objects. The HTML code can be embedded in JavaScript to make HTML code more easily understandable, enhance the performance of JavaScript, and make the application robust.

2. Virtual Document Object Model

React make an in-memory data structure cache, then it computes the difference between the previous DOM and the new one and then updates the changes or mutations performed. Thus, it updates only the changes, not the whole application. This helps to increase speed and performance and reduces memory wastage.

3. Testability

React views are used as the state’s functions where the state determines the behavior of the component. Therefore we can make changes to the state and then pass it to a view the ReactJS and then determine the output and the actions, functions, and events. This makes testing and debugging easy.

4. SSR

It stands for Server- Side Rendering. It permits to pre-render the initial state of the components at the server-side. The browser can render without waiting for all the JavaScript to be executed or loaded. This makes web pages to load faster. It helps the user to view the web pages even when React is still downloading the JavaScript, linking events or creating virtual DOM at the backend.

5. One Way Data Binding

It allows one-way flow of data, i.e. one-way data binding. Due to this feature, there is better control over the application. It makes the application’s state to be contained in specific stores, and therefore all other components remain loosely coupled. This enhances the flexibility and efficiency of the application.

6. Simplicity

JSX files make the application simple and understandable. Standard JavaScript can be used to code, but the usage of JSX makes it easier. Several lifecycle methods and its component-based approach make it simpler to learn and execute.

7. Learning Curve

In comparison to other frameworks, the learning curve of React is low. Beginners having basic programming language can also learn to React easily

React’s popularity today has eclipsed that of all other front-end development frameworks. Here is why:

  • Easy creation of dynamic applications: React makes it easier to create dynamic web applications because it requires less coding and offers more functionality, as opposed to JavaScript, where coding often gets complex very quickly.
  • Improved performance: React uses Virtual DOM, thereby creating web applications faster. Virtual DOM compares the components’ previous states and updates only the items in the Real DOM that were changed, instead of updating all of the components again, as conventional web applications do.
  • Reusable components: Components are the building blocks of any React application, and a single app usually consists of multiple components. These components have their logic and controls, and they can be reused throughout the application, which in turn dramatically reduces the application’s development time.
  • Unidirectional data flow: React follows a unidirectional data flow. This means that when designing a React app, developers often nest child components within parent components. Since the data flows in a single direction, it becomes easier to debug errors and know where a problem occurs in an application at the moment in question.
  • Small learning curve: React is easy to learn, as it mostly combines basic HTML and JavaScript concepts with some beneficial additions. Still, as is the case with other tools and frameworks, you have to spend some time to get a proper understanding of React’s library.
  • It can be used for the development of both web and mobile apps: We already know that React is used for the development of web applications, but that’s not all it can do. There is a framework called React Native, derived from React itself, that is hugely popular and is used for creating beautiful mobile applications. So, in reality, React can be used for making both web and mobile applications.
  • Dedicated tools for easy debugging: Facebook has released a Chrome extension that can be used to debug React applications. This makes the process of debugging React web applications faster and easier.

The above reasons more than justify the popularity of the React library and why it is being adopted by a large number of organizations and businesses. Now let’s familiarize ourselves with React’s features.

Advantages and Disadvantages of React:

Below are the advantages and disadvantages:


  • SEO friendly
  • It is easy to create test cases for UI.
  • React Components can be reused easily.
  • Ensures faster rendering.
  • Debugging is easy.
  • Ease of Migration.
  • Enhances productivity.
  • Writing components is easy.
  • Stable code.
  • Has a helpful developer toolset.
  • React native is available for mobile app development
  • Easy to learn.
  • Enhances performance.


  • The high pace of development.
  • Poor documentation.
  • Additional SEO hassle.
  • View-oriented only.
  • Large size library.
  • The learning curve for beginners.
  • Requires manual processing of data changes.
  • I need more code in some cases.


If this is your first time building a React app, we covered a lot of ground here. One of the biggest takeaways is that React is different than other libraries because it uses a whole new language called JSX to define what the visuals will look like. We got a very small glimpse of that here when we defined the h1 tag inside the render method.

JSX’s impact goes beyond how you define your UI elements. It also alters how you build your app as a whole. Because your browser can’t understand JSX in its native representation, you need to use an intermediate step to convert that JSX into JavaScript. One approach is to build your app to generate the transpiled JavaScript output to correspond to the JSX source. Another approach (aka the one we used here) is to use the Babel library to translate the JSX into JavaScript on the browser itself. While the performance hit of doing that is not recommended for live/production apps, when familiarizing yourself with React, you can’t beat the convenience.

In future chapters, we’ll spend some time diving deeper into JSX and going beyond the render method as we look at all the important things that make React tick.

Was this blog helpful?
You must be Logged in to comment
Code Block

Techiio is on the journey to build an ocean of technical knowledge, scouring the emerging stars in process and proffering them to the corporate world.

Follow us on:

Subscribe to get latest updates

You can unsubscribe anytime from getting updates from us
Developed and maintained by Wikiance
Developed and maintained by Wikiance