What is React

· React is a flexible ,efficient , open-source Javascript liabrary

· It was developed by facebook back in 2013 for building user interfaces (Front end)

· Facebook software engineer Jordan Walke Created it.

Why React ?

· It allows us to create a complex UI by making components (small & isolated prices of code )

· Components are reusable

· Load fast

· External plugin

· Around 45% of world’s website use React.

· Major bands like facebook, instagram , Airbnb , dropbox using React.

DOM :

When you are about to develop a web application that involves high user interaction and view updates, like the new form builder on JotForm 4.0, you have to consider the possible performance issues. Although today’s javascript engines are fast enough to handle such complex applications, DOM manipulations are still not that fast. Updating DOM is usually the bottleneck when it comes to the web performance. React is trying to solve this problem by using something called virtual DOM; a DOM kept in memory. Any view changes are first reflected to virtual DOM, then an efficient diff algorithm compares the previous and current states of the virtual DOM and calculates the best way (minimum amount of updates needed) to apply these changes. Finally those updates are applied to the DOM to ensure minimum read/write time. This is the main reason behind React’s high performance.

JSX

· It stands for javascript XML

· JSX allows us to write and add HTML in React

DefaultProps

The main advantage defaultProps has is it gives us a unified way of setting default values to props in both class components and functional components. The second advantage is that the syntax is simple and straightforward

Prototypes :

The biggest advantage of PropTypes is shared with other type checkers. It makes it easy to catch bugs caused by passing data in the wrong data type (like a string in a Boolean space). PropTypes has an edge in that it is already built into React. It’s ready to use with a very gentle learning curve.