This applies to a lot of components.
This idea is to improve performances by avoiding useless setState.
Let's take the ListItem example.
If a child component is hovered then the hovered state of ListItem switches back and forth even if the list item is still hovered. This creates a lot of useless rerender.