ReactDOM

up:: React React components being re-evaluated is not the same as them being re-rendered.

Changes to the DOM are only made for differences between evaluations. React evalutes all components and passes that to the DOM.

Performance

Since all children get re-evaluated when the state changes, that can lead to a lot of unneccesary re-evaluations. This is fine in small projects but can lead to performance problems in big problems.

React.memo can cut of an entire branch of child component evaluations.