React is an open-source JavaScript library for building user interfaces and It is declarative and fast. React team realized that JavaScript is fast, but updating the DOM makes it slow. So, they come up with the Virtual DOM. Virtual DOM is an in-memory representation of real DOM, Whenever states are changed new virtual DOM will be created and will be compared with previous virtual DOM which helps to find the changes (diff) and it is less expensive to apply only specific changes to the Real DOM.
There are lot of concepts which can be really useful in working with React.
React Hooks made react much more simpler. Hooks are functions that let us “hook into” React state and lifecycle features in functional components.
Redux is a predictable state container for JavaScript Apps. It reduces the complexity of managing different states of the components when the app gets larger and it provides the ability to maintain the state of different components efficiently.
Redux works on three principles
  • Single State Object
  • State is read-only
  • Changes are made only through pure functions/reducers