Les composants étatiques ou conteneurs ou les composants basés sur des classes prennent en charge les fonctions de React Hooks, donc nous n'avons pas besoin de React Hooks dans les composants étatiques juste dans les composants dépourvus d'état.
Quelques informations supplémentaires
Qu'est-ce que React Hooks? Alors qu'est-ce que les hooks? Eh bien, les hooks sont une nouvelle manière ou nous offrent une nouvelle manière d'écrire nos composants.
Jusqu'à présent, bien sûr nous avons des composants fonctionnels et basés sur des classes, n'est-ce pas? Les composants fonctionnels reçoivent des props et vous renvoyez du code JSX qui devrait être rendu à l'écran.
Ils sont excellents pour la présentation, donc pour le rendu de la partie UI, pas tant pour la logique métier et ils sont généralement axés sur un ou quelques buts par composant.
Les composants basés sur des classes, d'autre part, reçoivent également des props mais ils ont aussi cet état interne. Par conséquent, les composants basés sur des classes sont les composants qui détiennent en réalité la majorité de notre logique métier, donc avec la logique métier, je veux dire des choses comme nous faisons une requête HTTP et nous devons gérer la réponse et changer l'état interne de l'application ou peut-être même sans HTTP. Un utilisateur remplit le formulaire et nous voulons afficher cela quelque part à l'écran, nous avons besoin d'état pour cela, nous avons besoin de composants basés sur des classes pour cela et donc nous utilisons également généralement des composants basés sur des classes pour orchestrer nos autres composants et transmettre notre état en tant que props à des composants fonctionnels par exemple.
Maintenant, un problème que nous avons avec cette séparation, malgré tous les avantages qu'elle apporte, est que la conversion d'une forme de composant à l'autre est ennuyeuse. Ce n'est pas vraiment difficile mais c'est gênant.
Si vous vous êtes déjà retrouvé dans une situation où vous deviez convertir un composant fonctionnel en un basé sur une classe, c'est beaucoup de saisie et beaucoup de saisie toujours des mêmes choses, donc c'est gênant.
Un problème plus important en guillemets est que les hooks de cycle de vie peuvent être difficiles à utiliser correctement.
De toute évidence, ce n'est pas difficile d'ajouter componentDidMount et d'exécuter du code dans celui-ci mais savoir quel hook de cycle de vie utiliser, quand et comment l'utiliser correctement, peut être un défi surtout dans des applications plus complexes et de toute façon, ne serait-il pas agréable si nous avions une manière de créer des composants et ce super composant pourrait alors gérer à la fois l'état et les effets secondaires comme les requêtes HTTP et également rendre l'interface utilisateur?
Eh bien, c'est exactement de quoi parlent les hooks. Les hooks nous donnent une nouvelle manière de créer des composants fonctionnels et c'est important.