Sveltejs Academy · Lektion

Kontekst til dependency injection

Injicér services og konfiguration i underordnede komponenter via kontekst

Lektion 4 af 413 trin

Kontekst til dependency injection er en gratis Sveltejs Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Sveltejs Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Sveltejs Academy-kurset indeholder 4 lektioner i alt.

DI-mønsteret

Afhængighedsinjektion betyder, at en komponent får sine afhængigheder, f.eks. services og konfiguration, i stedet for selv at oprette dem.

Hvorfor DI hjælper

Det gør test lettere, fordi du kan indsætte mocks, konfiguration lettere, fordi du kan skifte implementeringer, og genbrug lettere.

Injicér via context

En omsluttende komponent angiver en service i context, som efterkommere derefter bruger.

setContext("apiClient", new ApiClient(apiUrl));

Brug i en komponent

Efterkommere kalder getContext for at hente og bruge servicen.

const api = getContext("apiClient");
async function load() { items = await api.list(); }

Testopsætning

Pak komponenten under test ind i en mock-udbyder, der injicerer falske implementeringer.

Konfiguration

Injicér funktionsflag, miljøforskelle eller tematikoner via den samme mekanisme.

Undgå globale værdier

Globale værdier er svære at mocke og gennemskue. DI baseret på context holder afhængighederne eksplicitte.

Udbyderkomponenter

Byg små omsluttende komponenter med navne som ApiProvider til hver service.

Komposition

Stabl flere udbydere for at sammensætte alle de afhængigheder, en sektion har brug for.

<ApiProvider>
  <ThemeProvider>
    <App />
  </ThemeProvider>
</ApiProvider>

TypeScript

Typebestemt context gør injicerede services selvbeskrivende via IDE'ens autofuldførelse.

Brug i praksis

Autentificeringsklienter, funktionsskift, analyse, logning og tematisering er alle gode kandidater til DI.

Hurtigt tjek

Hvorfor bruge DI via context?

Opsummering

Brug context til at injicere services, konfiguration og andre afhængigheder i komponentundertræer for at opnå testbarhed og fleksibilitet.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
41
Lektioner
163

Ofte stillede spørgsmål

Er lektionen “Kontekst til dependency injection” gratis?

Ja — hele teksten til “Kontekst til dependency injection” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Sveltejs Academy-kurset, skal du opgradere til CoddyKit PRO. Sveltejs Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Kontekst til dependency injection”?

Injicér services og konfiguration i underordnede komponenter via kontekst Du øver dig i Sveltejs Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Sveltejs Academy?

Der kræves ingen tidligere erfaring. Sveltejs Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Kontekst til dependency injection”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Sveltejs Academy-lektion?

Ja. Alle Sveltejs Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. setContext() og getContext()
  2. Kontekst eller stores: Hvornår skal de bruges
  3. Typet kontekst med TypeScript
  4. Kontekst til dependency injection
← Tilbage til Sveltejs Academy