What is React?

React is a java script library that is used to build user interfaces. You can make reusable components which can display data and data can be change over time without reloading the page. React was created at Facebook and Instagram on 2013

React Native enables you to create native mobile applications

React Developer Tools
You can find some useful developer tools for React development

Firefox developer tool allows you to inspect a React tree, including the component hierarchy, props, state, and more.
https://addons.mozilla.org/en-US/firefox/addon/react-devtools/

You can find another development tool which can be used in your Google Chrome

Speed Rendering with React
When you develop modern web application like single page application you have to pay your attention on DOM manipulation.

In most Javascript applications, this DOM manipulation is very slow. This happens when you update the DOM with changes. This is even worst when some JS applications update DOM much more than they have to

You can understand it with following example
In your application you have ordered list to show names of persons. Now you want to change the last item of the list with new name. What normal Javascript does is , building the entire list with changes. So this is ten times more work though it needs to change at one location

This kind of inefficient update leads to serious issues when you deal with application with large DOM

React can overcome this issue with Virtual DOM

What is Virtual DOM?

When you develop React app every DOM Object has identical Virtual DOM Object. This Virtual DOM object is a light weight copy of the real DOM Object

Virtual DOM has the all properties what you find in DOM but it does not have some features needed to draw on screen.
You can manipulate the Virtual DOM faster than DOM because Virtual DOM has nothing to draw on screen