Jetpack Compose Academy · Les

Compose-statusslots en content-lambda's

Maak componenten flexibel met slot-API's.

Les 4 van 413 stappen

Compose-statusslots en content-lambda's is een gratis Jetpack Compose Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Jetpack Compose Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Jetpack Compose Academy bevat in totaal 4 lessen.

Maak componenten flexibel

Met een slot kan een component een stuk gebruikersinterface als parameter accepteren. De aanroeper vult het slot in, zodat één component bij veel ontwerpen past.

Maak kennis met de content-Lambda

Het meest voorkomende slot is een afsluitende content-lambda van het type @Composable () -> Unit. Alles wat je tussen de accolades zet, wordt de inhoud.

fun Card(content: @Composable () -> Unit) {
  Surface { content() }
}

Een slot aanroepen

Je roept het slot net als een normale lambda aan. Compose voert de gebruikersinterface uit die de aanroeper heeft doorgegeven, precies waar je content() aanroept.

Card {
  Text("Anything I want lives here")
}

Waarom slots beter zijn dan Booleans

Gebruik in plaats van veel vlaggen zoals showIcon of showTitle slots. Aanroepers stellen precies samen wat ze nodig hebben, met volledige vrijheid.

Benoemde slots

Componenten kunnen meerdere slots aanbieden, elk als parameter. Scaffold doet dit met topBar, bottomBar en content. 🧩

fun Banner(
  title: @Composable () -> Unit,
  action: @Composable () -> Unit
) { /* lay them out */ }

Scopes bieden extra mogelijkheden

Een slot kan een receiver-lambda zijn, waardoor de aanroeper hulpmiddelen krijgt. Binnen een Column is content van het type ColumnScope.() -> Unit, zodat weight werkt.

fun MyColumn(content: @Composable ColumnScope.() -> Unit) {
  Column { content() }
}

Gegevens aan een slot doorgeven

Slots kunnen waarden aan de aanroeper doorgeven. Een slot voor een rij in een lijst kan bijvoorbeeld het item doorgeven, zodat de aanroeper bepaalt hoe het wordt getekend.

fun Row(item: User, content: @Composable (User) -> Unit) {
  content(item)
}

Slots houden status omhoog gebracht

Omdat de aanroeper de slotinhoud aanlevert, blijft je component stateless wat betreft de inhoud ervan. Het eigenaarschap blijft duidelijk.

Opnieuw gebruiken op verschillende schermen

Eén Card of Dialog met slots vervangt een dozijn vrijwel identieke componenten. Je bouwt het frame één keer en varieert de invulling. ♻️

Standaardinhoud voor een slot

Geef een slot een verstandige standaardwaarde, zodat eenvoudige aanroepers het kunnen overslaan en geavanceerde aanroepers het volledig kunnen overschrijven.

fun Section(
  header: @Composable () -> Unit = { Text("Section") },
  content: @Composable () -> Unit
) { /* ... */ }

De slotmentaliteit

Wanneer een component steeds meer Booleaanse vlaggen verzamelt, kies je in plaats daarvan voor slots. Flexibiliteit ontstaat door gebruikersinterface door te geven, niet door schakelaars.

Korte controle

Wat is het belangrijkste voordeel van een content-slotlambda?

Samenvatting

Slots accepteren gebruikersinterface als @Composable-lambdas, eventueel met een scope of met doorgegeven gegevens. Ze maken componenten flexibel en houden de status omhoog gebracht. 🚀

Gratis beginnen

Leer Kotlin met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Compose-statusslots en content-lambda's” gratis?

Ja — de volledige tekst van “Compose-statusslots en content-lambda's” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Jetpack Compose Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Jetpack Compose Academy bevat in totaal 4 lessen.

Wat leer ik in “Compose-statusslots en content-lambda's”?

Maak componenten flexibel met slot-API's. Je oefent met Jetpack Compose Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Jetpack Compose Academy te beginnen?

Ervaring vooraf is niet nodig. Jetpack Compose Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Compose-statusslots en content-lambda's”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Jetpack Compose Academy?

Ja. Elke les over Jetpack Compose Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Stateful versus stateless Composables
  2. Status liften met value en onValueChange
  3. Eén bron van waarheid
  4. Compose-statusslots en content-lambda's
← Terug naar Jetpack Compose Academy