Découvrez comment migrer de l'API Options vers l'API Composition dans Vue 3.

Comme les créateurs de Vue ont annoncé que Vue 2 arriverait en fin de vie d'ici le 31 décembre 2023, les développeurs sont encouragés à passer à Vue 3.

Cette transition s'accompagne de l'API Composition, une fonctionnalité qui offre une approche plus modulaire, déclarative et sécurisée pour créer des applications Vue.

Qu'est-ce que l'API de composition?

L'API Composition représente un changement de paradigme dans l'écriture de composants Vue à partir de l'objet Options. Ce style de développement adopte une approche plus déclarative, vous permettant de vous concentrer sur la création de votre application Vue tout en faisant abstraction des détails d'implémentation.

Motivation pour l'API de composition

Les créateurs de Vue ont reconnu les défis liés à la création d'applications Web complexes avec l'objet Options. À mesure que les projets se développaient, la gestion de la logique des composants devenait moins évolutive et plus difficile à maintenir, en particulier dans les environnements collaboratifs.

instagram viewer

L'approche traditionnelle des objets Options aboutissait souvent à de nombreuses propriétés de composants, ce qui rendait le code difficile à comprendre et à maintenir.

De plus, la réutilisation de la logique des composants entre différents composants est devenue fastidieuse. La logique dispersée au sein de divers hooks et méthodes de cycle de vie a également ajouté de la complexité à la compréhension du comportement global d'un composant.

Avantages de l'API de composition

L'API Composition apporte plusieurs avantages par rapport à l'API Options.

1. Performance améliorée

Vue 3 introduit un nouveau mécanisme de rendu appelé système de réactivité basé sur proxy. Ce système offre de meilleures performances en réduisant la consommation mémoire et en améliorant la réactivité. Le nouveau système de réactivité permet à Vue 3 de gérer plus efficacement des arbres de composants plus géants.

2. Taille de paquet plus petite

Grâce à la base de code optimisée et à la prise en charge de l'arborescence, Vue 3 a une taille de bundle plus petite que Vue 2. Cette réduction de la taille du bundle entraîne des temps de chargement plus rapides et des performances améliorées.

3. Organisation du code améliorée

En tirant parti de l'API Composition, vous pouvez organiser le code de votre composant en fonctions plus petites et réutilisables. Cela favorise une meilleure compréhension et une meilleure maintenance, en particulier pour les composants volumineux et complexes.

4. Réutilisabilité des composants et des fonctions

Les fonctions de composition peuvent être facilement réutilisées sur différents composants, facilitant le partage de code et la création d'une bibliothèque de fonctions réutilisables.

5. Meilleure prise en charge de TypeScript

L'API Composition fournit une prise en charge TypeScript plus complète, permettant une inférence de type plus précise et une identification plus facile des erreurs liées au type pendant le développement.

Comparaison entre l'objet Options et l'API de composition

Maintenant que vous comprenez la théorie derrière l’API Composition, vous pouvez commencer à l’utiliser dans la pratique. Pour comprendre les avantages de l'API Composition, comparons certains aspects clés des deux approches.

Données réactives dans Vue 3

Les données réactives sont un concept fondamental dans Vue qui permet aux modifications de données dans votre application de déclencher automatiquement des mises à jour dans l'interface utilisateur.

Vue 2 a basé son système réactif sur le Objet.defineProperty et s'appuyait sur un objet de données contenant toutes les propriétés réactives.

Lorsque vous avez défini une propriété de données avec l'option data dans un composant Vue, Vue a automatiquement encapsulé chaque propriété dans l'objet de données avec des getters et des setters, une nouvelle fonctionnalité ECMA Script (ES6).

Ces getters et setters suivaient les dépendances entre les propriétés et mettaient à jour l'interface utilisateur lorsque vous modifiiez une propriété.

Voici un exemple de la façon dont vous créez des données réactives dans Vue 2 avec l'objet Options :