Hello :)
Alors Comme tu dis certains Hooks ne fonctionnent pas avec les class (oui ça a changé depuis la v18, avant AUCUNS hooks ne fonctionnait, maintenant certains oui, d'autres non)
Pour la différence... Alors il n'y en a pas vraiment, le but d'une class est de faire une instance isolée, mais tu as le même principe avec un component, donc concrètement les class components c'est juste du sucre syntaxique (une feature qui a uniquement pour but d'avoir un code plus agréable pour ceux qui sont habitués aux class (coucou les devs back ^^))
Bref tu peux faire comme tu veux, mais pour le moment je te conseilles d'éviter d'utiliser les class components (je faisais du Laravel avant de faire du React, j'avais commencé avec les class aussi, et de ma propre expérience: tkt tu vas t'habituer aux Functionnal :p)
Et pour ce qui est du fonctionnel, tu as deux écoles:
En gros c'est ça ^^