Dernières mises à jour de effe... Note

Dernières mises à jour de effect() dans Angular

Le processus de prévisualisation des développeurs d'Angular permet aux développeurs d'essayer des API et des fonctionnalités avant qu'elles ne soient promues en production. Cela permet également à l'équipe Angular d'ajuster ces API en fonction de l'utilisation réelle et des commentaires. Grâce aux commentaires sur l'API effect(), l'équipe a identifié plusieurs améliorations à la conception qui permettront de résoudre les problèmes réels de fonctionnalité et d'expérience développeur. L'une des modifications consiste à supprimer le drapeau allowSignalWrites, qui visait à encourager les bonnes pratiques, mais qui a finalement découragé l'utilisation de effect() dans les cas où il serait raisonnable de mettre à jour les signaux. Au lieu de cela, l'équipe se concentrera sur d'autres moyens d'encourager les bonnes pratiques, notamment l'ajout de nouveaux assistants de réactivité si nécessaire. Le moment où les effets s'exécutent est également en train d'être modifié, les effets s'exécutant désormais dans le cadre de la hiérarchie des composants pendant la détection des changements. Ce changement vise à rendre le moment des effets plus prévisible et plus utile, et à résoudre les bogues liés aux effets qui s'exécutent trop tôt ou trop tard. La plupart des utilisations de l'API effect() continueront de fonctionner comme prévu, mais certains cas d'utilisation peuvent être affectés, tels que les effets sur les résultats de la requête de vue et toObservable() des signaux d'entrée. L'équipe Angular a corrigé environ 100 cas où le changement de moment a eu un impact significatif sur le code pendant les tests chez Google. Suite à ces modifications, l'API effect() restera en prévisualisation pour les développeurs au moins jusqu'à la version 19.0, avec des plans pour stabiliser l'API dans une prochaine version mineure. L'équipe Angular remercie la communauté pour ses commentaires et son soutien, qui ont joué un rôle crucial dans le développement d'Angular.