Lær, hvordan du migrerer fra Options API til Composition API i Vue 3.

Da skaberne af Vue har annonceret, at Vue 2 vil nå slutningen af ​​livet inden den 31. december 2023, opfordres udviklere til at skifte til Vue 3.

Med denne overgang kommer Composition API, en funktion, der tilbyder en mere modulær, deklarativ og typesikker tilgang til at bygge Vue-applikationer.

Hvad er Composition API?

Composition API repræsenterer et paradigmeskifte i at skrive Vue-komponenter fra Options-objektet. Denne udviklingsstil anvender en mere deklarativ tilgang, så du kan fokusere på at bygge din Vue-app, mens du abstraherer implementeringsdetaljerne.

Motivation for Composition API

Vue-skabere erkendte udfordringerne ved at bygge komplekse webapplikationer med Options-objektet. Efterhånden som projekterne voksede, blev styringen af ​​komponentens logik mindre skalerbar og sværere at vedligeholde, især i samarbejdsmiljøer.

Den traditionelle Options-objekttilgang resulterede ofte i mange komponentegenskaber, hvilket gør kode udfordrende at forstå og vedligeholde.

Derudover blev genbrug af komponentlogik på tværs af forskellige komponenter besværligt. Den spredte logik inden for forskellige livscykluskroge og metoder tilføjede også kompleksitet til at forstå en komponents overordnede adfærd.

Fordele ved Composition API

Composition API'en giver flere fordele i forhold til Options API.

1. Forbedret ydeevne

Vue 3 introducerer en ny gengivelsesmekanisme kaldet det proxy-baserede reaktivitetssystem. Dette system giver bedre ydeevne ved at reducere hukommelsesforbruget og forbedre reaktiviteten. Det nye reaktivitetssystem gør det muligt for Vue 3 at håndtere flere gigantiske komponenttræer mere effektivt.

2. Mindre bundtstørrelse

Takket være den optimerede kodebase og trærystende støtte har Vue 3 en mindre bundtstørrelse end Vue 2. Denne reduktion i bundtstørrelse fører til hurtigere indlæsningstider og forbedret ydeevne.

3. Forbedret kodeorganisation

Ved at udnytte Composition API kan du organisere din komponents kode i mindre, genbrugelige funktioner. Dette fremmer bedre forståelse og vedligeholdelse, især for store og komplekse komponenter.

4. Genbrug af komponenter og funktioner

Kompositionsfunktioner kan nemt genbruges på tværs af forskellige komponenter, hvilket letter kodedeling og oprettelsen af ​​et bibliotek af genanvendelige funktioner.

5. Bedre TypeScript-understøttelse

Composition API giver mere omfattende TypeScript-understøttelse, hvilket muliggør mere nøjagtig typeslutning og lettere identifikation af typerelaterede fejl under udvikling.

Sammenligning mellem Options Object og Composition API

Nu hvor du forstår teorien bag Composition API, kan du begynde at bruge det i praksis. For at forstå fordelene ved Composition API, lad os sammenligne nogle nøgleaspekter af begge tilgange.

Reaktive data i Vue 3

Reaktive data er et grundlæggende koncept i Vue, der tillader dataændringer i din applikation at udløse opdateringer i brugergrænsefladen automatisk.

Vue 2 baserede sit reaktive system på Object.defineProperty metode og stolede på et dataobjekt indeholdende alle de reaktive egenskaber.

Når du definerede en dataegenskab med dataindstillingen i en Vue-komponent, indpakkede Vue automatisk hver egenskab i dataobjektet med getters og settere, en ny ECMA Script-funktion (ES6).

Disse gettere og sættere sporede afhængigheder mellem egenskaber og opdaterede brugergrænsefladen, når du ændrede en egenskab.

Her er et eksempel på, hvordan du opretter reaktive data i Vue 2 med Options-objektet: