React allows developers to create large web applications that use data which can change over time, without reloading the page. Its main goal is to be fast, simple and scalable.
React views are typically rendered using components that contain additional components specified as custom HTML tags. One of the unique features of React.js is not only it can perform on the client side, but it can also be rendered on the server side, and they can work together interoperably.
It also uses the concept called Virtual DOM, creates an in-memory data structure cache, enumerates the resulting differences, and then updates the browser’s displayed DOM efficiently. This allows the programmer to write code as if the entire page is rendered on each change while the React libraries only render the sub-components that actually changes.
ADVANTAGES OF REACT.JS
React.js is extremely efficient:
React.js creates its own virtual DOM where your components actually live. This approach gives you enormous flexibility and amazing gain in performance, avoids expensive DOM operations and make updates in a very efficient manner.
It gives you out-of-the-box developer tools:
When you start your journey with React.js, do not forget to install official React.js chrome extension. It makes debugging your application much easier. After you install the extension, you will have a direct look into the virtual DOM as if you were browsing a regular DOM tree in the elements panel. Isn’t it pretty amazing!
It’s awesome for SEO:
UI Test Cases:
It is extremely easy to write UI test cases because the virtual DOM system implemented entirely in JS.