React.component is een klasse die de React-component API erft. Hiermee kan je meer eigenschappen van een component configureren, gebruik maken van lifecycles-methoden (componentDidMount, componentDidUpdate, etc.) en lokale staat (this.state) implementeren.
Een functionele component daarentegen is gewoonweg een functie die een reactie-element retourneert. In eerdere versies van React mochten functionele componenten geen staat of levenscyclusmethoden hebben. Daarom werden ze Stateless Functional Components genoemd.
Echter, sinds de introductie van Hooks in React 16.8 kunnen functionele componenten nu zowel de staat als levenscyclusmethoden hanteren door het gebruik van useState en useEffect. Dit heeft ertoe bijgedragen dat functionele componenten populairder zijn geworden, omdat ze vaak conciser en makkelijker te testen en te begrijpen zijn dan klassecomponenten.
Het belangrijkste verschil tussen de twee is hoe ze gemaakt worden (klasse vs functie) en hoe ze de staat beheren en toegang hebben tot de levenscyclusmethoden.