Adding to point number 6, if you make a functional component with multiple props, every time you re-render the parent you re-render the child, something that could be avoided by using either PureComponent or using ShouldComponentUpdate.

Another scenario is a parent composed by multiple functional component child, if they don't have any way to decide whether or not to render, they will always re-render once the parent re-renders which is a unnecessary thing.

Software Engineer - Head Of Vetting At G2i