L’équipe de React a fait de nombreuses annonces à propos de nouvelles APIs ces derniers temps. On parle de : Suspense, Lazy Hooks, Error Boundaries, Time Slicing ou encore Concurrent React.
Il y a des choses particulièrement intéressantes comme de nouveaux patterns de programmation qui pourraient changer la manière de coder des interfaces dans le futur. Mais il faut avouer qu’il peut devenir difficile de suivre toutes les évolutions proposées et en comprendre la direction.
L’effervescence autour des nouvelles fonctionnalités a pour origine la ré-implémentation du moteur de React dans sa version 16 : nom de code React Fiber (sorti en septembre 2017). Cette refonte très technique n’a pas fait de buzz et n’a rien changé directement dans l’API. Elle a en revanche libéré un potentiel incroyable pour trouver de nouveaux concepts que Facebook ajoute petit à petit dans sa bibliothèque.
Nous vous proposons de reprendre le sujet dans l’ordre : qu’est ce que React Fiber ? Qu’est ce qui change dans le moteur et ce que cela veut dire pour vous ? Nous nous intéresserons ensuite à chacune des nouveautés (Suspense, Lazy, Hooks, Error Boundaries, Time Slicing, …) pour en détailler le fonctionnement, ce que cela apporte et son lien avec Fiber.
Nous illustrerons chacun des concepts avec un livecoding d’une arène de pokemon !