- On utilise un nouveau composant qui se base sur la dernière version de l'api SIRENE
- On sépare les données entre la simulation des cotisations et la création d'entreprise
- On gagne des lignes !
Sur les 9 utilisations de withRouter :
- suppression de 6 occurrences inutilisées
- migration d'1 occurrence vers le hook useLocation
- maintien de 2 occurrences inchangées car utilisées par des composants "class"
Les différents sites de l'administration affichent un bandeau noir sur
le logo Marianne en raison du deuil national. Référence vers la version
numerique.gouv.fr qui intégre ce bandeau.
Comme recommandé dans la documentation des hooks React, ajout des deux
linters suivants : react-hooks/rules-of-hooks et react-hooks/exhaustive-deps
Mise à jour des composants, en particulier les useEffect pour y spécifier
toutes les dépendances.
Supprime aussi redux-batched-action. Le code résultant est plus concis
(alors que l'on supprime une dépendance !), et plus clair car il y a moins
d'indirections pour se conformer aux API de redux-form.
Suppression de notre composant withLanguage qui rajoutait une abstraction
inutile.
Note: de nombreux appels à withTranslation et withLanguage était inutile
car le composant augmenté n'utilisait pas les paramètres fournis (language, t, i18n).
L'utilisation des hooks nous permet de mieux gérer le code mort, car il s'agit
de simples variables dont le non-usage est détecté par l'analyse statique.
Le but de la refacto est de généraliser l'utilisation des hook
Nombre de composants convertis: 52
Nombre de composants restants: 12
Il est possible de compter les composants class restants en utilisant
grep "render()"
L'occasion aussi de remplacer la dernière occurence de UNSAFE_componentWillMount
Il s'agit d'une fonctionnalité non standard de JavaScript qui est peu
utilisée dans la base de code. Ajoute de la complexité pour les nouveaux
développeurs (configuration spécifique de l'environnement de dév) pour
trop peu de bénéfices.
- L'état interne est plus simple
- Le parcours est plus beau et plus facile
- On peut revenir en arrière facilement
- Correction des bugs d'update, de modifications etc...
- La traduction sera plus simple
- L'état est sauvegardé dans le local storage
- Ajout de redirections quand l'utilisateur n'a pas suivi le parcours
NOTE ! Il reste à refactorer les exemptions