Lær hvordan du migrerer fra Options API til Composition API i Vue 3.
Siden skaperne av Vue har annonsert at Vue 2 vil nå slutten av livet innen 31. desember 2023, oppfordres utviklere til å bytte til Vue 3.
Med denne overgangen kommer Composition API, en funksjon som tilbyr en mer modulær, deklarativ og typesikker tilnærming til å bygge Vue-applikasjoner.
Hva er Composition API?
Composition API representerer et paradigmeskifte når det gjelder å skrive Vue-komponenter fra Options-objektet. Denne utviklingsstilen bruker en mer deklarativ tilnærming, slik at du kan fokusere på å bygge Vue-appen din mens du abstraherer implementeringsdetaljene.
Motivasjon for Composition API
Vue-skapere anerkjente utfordringene når de bygger komplekse webapplikasjoner med Options-objektet. Etter hvert som prosjektene vokste, ble styringen av komponentens logikk mindre skalerbar og vanskeligere å vedlikeholde, spesielt i samarbeidsmiljøer.
Den tradisjonelle Options-objekttilnærmingen resulterte ofte i mange komponentegenskaper, noe som gjorde kode utfordrende å forstå og vedlikeholde.
I tillegg ble gjenbruk av komponentlogikk på tvers av forskjellige komponenter tungvint. Den spredte logikken innenfor ulike livssykluskroker og metoder ga også kompleksitet til å forstå en komponents generelle oppførsel.
Fordeler med Composition API
Composition API gir flere fordeler i forhold til Options API.
1. Forbedret ytelse
Vue 3 introduserer en ny gjengivelsesmekanisme kalt det proxy-baserte reaktivitetssystemet. Dette systemet gir bedre ytelse ved å redusere minneforbruket og forbedre reaktiviteten. Det nye reaktivitetssystemet gjør det mulig for Vue 3 å håndtere flere gigantiske komponenttrær mer effektivt.
2. Mindre buntstørrelse
Takket være den optimaliserte kodebasen og støtte for treristing, har Vue 3 en mindre buntstørrelse enn Vue 2. Denne reduksjonen i buntstørrelse fører til raskere lastetider og forbedret ytelse.
3. Forbedret kodeorganisering
Ved å bruke Composition API kan du organisere komponentens kode i mindre, gjenbrukbare funksjoner. Dette fremmer bedre forståelse og vedlikehold, spesielt for store og komplekse komponenter.
4. Gjenbrukbarhet av komponenter og funksjoner
Komposisjonsfunksjoner kan enkelt gjenbrukes på tvers av forskjellige komponenter, noe som letter kodedeling og opprettelse av et bibliotek med gjenbrukbare funksjoner.
5. Bedre TypeScript-støtte
Composition API gir mer omfattende TypeScript-støtte, noe som muliggjør mer nøyaktig typeslutning og enklere identifikasjon av typerelaterte feil under utvikling.
Sammenligning mellom Options Object og Composition API
Nå som du forstår teorien bak Composition API, kan du begynne å bruke den i praksis. For å forstå fordelene med Composition API, la oss sammenligne noen nøkkelaspekter ved begge tilnærmingene.
Reaktive data i Vue 3
Reaktive data er et grunnleggende konsept i Vue som lar dataendringer i applikasjonen din utløse oppdateringer i brukergrensesnittet automatisk.
Vue 2 baserte sitt reaktive system på Object.defineProperty metode og var avhengig av et dataobjekt som inneholder alle de reaktive egenskapene.
Når du definerte en dataegenskap med dataalternativet i en Vue-komponent, pakket Vue automatisk hver egenskap i dataobjektet med gettere og settere, en ny ECMA Script-funksjon (ES6).
Disse getterne og setterne sporet avhengigheter mellom egenskaper og oppdaterte brukergrensesnittet når du endret en egenskap.
Her er et eksempel på hvordan du lager reaktive data i Vue 2 med Options-objektet:
Count: {{ count }}</p>