Module 1- Bases avancées et environnement
- Révision des nouveautés JavaScript (ES6+) et organisation modulaire.
- Fonctionnement interne de React : Virtual DOM, JSX, flux unidirectionnel.
- Présentation des outils, extensions et bonnes pratiques de l'écosystème.
- Travaux pratiques : création d'un environnement moderne et d'un petit projet.
Module 2- Qualité, typage et tests
- Structurer les composants : PropTypes, valeurs par défaut, documentation via Storybook.
- Introduction au typage statique (TypeScript ou Flow).
- Méthodes de prototypage de composants.
- Mise en place de tests unitaires et fonctionnels.
- Travaux pratiques : typage de composants existants et ajout de tests automatisés.
Module 3- Patterns avancés et hooks
- Higher-Order Components : principes et usages.
- Portals : intégration de composants hors hiérarchie DOM.
- Context API : partage de données ou de services.
- Hooks natifs : useState, useEffect et leur logique fonctionnelle.
- Création et organisation de hooks personnalisés.
- Travaux pratiques : implémentation de différents patterns et création de hooks personnalisés.
Module 4- Redux avancé
- Rappels : store, actions, reducers et intégration dans React.
- Gestion avancée des formulaires (Redux Form ou alternatives).
- Persistance du state avec Redux Persist.
- Conception d'un middleware personnalisé.
- Travaux pratiques : intégration d'un formulaire géré avec Redux et ajout d'un middleware simple.
Module 5- Performance et optimisation
- Lazy loading, Suspense, concurrent features, caching.
- Introduction au SSR avec Next.js.
- Optimisation du cycle de vie des composants.
- Immutabilité et composants purs.
- Travaux pratiques : mise en place du code splitting et analyse de performance.
Module 6- Animations & transitions
- Animations CSS et transitions manuelles.
- Utilisation de React Transition Group.
- Tour d'horizon des bibliothèques d'animation.
- Travaux pratiques : ajout de transitions visuelles sur plusieurs composants.
Module 7- Internationalisation
- Comprendre internationalisation et localisation.
- Panorama des outils d'i18n.
- Intégration dans React et Redux.
- Travaux pratiques : ajout d'un module de traduction et configuration du changement de langue.