React makes it painless to create interactive UIs. By designing of simple views for each state in the application React will efficiently update and render just the right components when the data changes. Declarative views make the code more predictable and easier to debug.
ReactDOM is an associated library which provides rendering and DOM diffing. The reason React is much more successful in rendering of HTML because it applies changes to a 'Virtual DOM' and creates a diff of the smallest changeset possible, which it then applies to the DOM. Since updating the DOM is the lengthiest part of the render process, this massive reduction in DOM updates greatly improves performance.
Redux is a library which provides a data store. Redux uses only one vault for the entire application state. Since the whole state is in one place, Redux calls it the only source of truth. And React-Redux provides the glue between React and Redux. This reduces lock-in, as it can be swapped out the presentation layer of the front-end without affecting the rest of your codebase.
Here is what we're using ReactJS for:
- React makes the webpages highly dynamic and responsive to user input
- DOM (document object model) is a logical structure of documents in HTML, XHTML, or XML formats.
- The speed of updates is increased by using virtual DOM
- Even minimalistic changes applied by the user don’t affect other parts of interface.
- Thanks to React’s components isolation updates are made really quick, allowing for the building of a highly dynamic UI
- Applying changes in a real-time mode increased performance, it also made programming faster.