Partie 1 : Découvrir React
Partie 2 : Acquérir les bases de React
Partie 3 : Aller plus loin avec React
Partie 4 : Bonus
Partie 5 : Obtenir votre sticker React

2. Présentation des Hooks

Les Hooks sont une nouveauté apportée par React version 16.8.0. C’est un changement assez récent dans l’histoire de React, mais cette solution est de plus en plus populaire.

Les Hooks vous permettent de bénéficier d’un state et de la gestion des cycles de vie dans un composant de fonction, sans avoir à écrire une classe !

En fait, cela permet de faire d’une pierre deux coups. On résout les inconvénients des composants de fonction, sans leur ajouter de défaut. On obtient quelques chose comme ça :

Functional Component + Hooks > Class Component

Ainsi, nous n’avons plus de questions à nous poser. Nous devons développer des composants basés sur des fonctions, et leur ajouter les Hooks nécessaires lorsque nous en avons besoin. CQFD.

D’ailleurs, React a anticipé que cette solution était géniale, et tout a été mis en place pour que les développeurs puissent petit à petit réécrire leurs applications avec des Hooks. En effet, les Hooks sont :

  • 100% optionnels : Il est tout à fait possible de tester les Hooks dans quelques composants, sans avoir à modifier le code entier de votre application.
  • 100% rétro-compatibles. L’ajout de Hooks préservent la compatibilité avec les anciennes versions de React, à partir de la version 16.8.0.

A terme, React souhaite que les composants de classe soient remplacés par des composants de fonctions et des Hooks. On va donc se pencher sur cette solution qui est la plus recommandée, pour la suite de nos développements. Et je sais que vous commencez à en avoir marre de la théorie, mais faites moi confiance, cela en vaut la peine. Lorsque l’on va attaquer les développements à proprement parler, on sera content d’avoir pris un peu de temps pour tout ça. 😉

À partir de maintenant, on vas petit à petit essayer d’oublier les composants de classe. Ce sera beaucoup plus simple pour nous, et puis c’est ce qui est recommandé par React.