One of the core concepts of React is the use of components to represent different parts of a user interface. Components are reusable pieces of code that can be combined to create complex user interfaces.
When a component is rendered, React creates a virtual representation of the component's UI called the Virtual DOM. The Virtual DOM is a lightweight copy of the actual DOM, and it allows React to efficiently update the user interface without having to re-render the entire page.
In React, components have a state, which is an object that contains data that can be used to render the component. When the state of a component changes, React will automatically re-render the component to reflect the new state.
The reason why a component re-renders whenever a state change is because React does not track individual elements within a component. Instead, React re-renders the entire component and updates the Virtual DOM with the new UI. This means that even if only a small part of the component's state has changed, the entire component will be re-rendered.
However, React is designed to optimize the rendering process, so it will only update the actual DOM if there are changes to the Virtual DOM. This helps to minimize the number of updates to the actual DOM, which can be a costly operation.
In summary, the reason why a React component re-renders whenever a state change is because React updates the Virtual DOM with the new UI, and it does not track individual elements within a component. Although this may seem inefficient, React is designed to optimize the rendering process to minimize the number of updates to the actual DOM.
Did you find this article valuable?
Support Saketh Kowtha by becoming a sponsor. Any amount is appreciated!