Slots de Estado do Compose e Lambdas de Conteúdo
Torne os componentes flexíveis com APIs de slots.
Slots de Estado do Compose e Lambdas de Conteúdo é uma aula grátis de Jetpack Compose Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Jetpack Compose Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Jetpack Compose Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Make Components Flexible
A slot lets a component accept a chunk of UI as a parameter. The caller fills the slot, so one component fits many designs.
Meet the content Lambda
The most common slot is a trailing content lambda of type @Composable () -> Unit. Whatever you put in braces becomes the body.
fun Card(content: @Composable () -> Unit) {
Surface { content() }
}Calling a Slot
You call the slot just like a normal lambda. Compose runs whatever UI the caller passed, right where you invoke content().
Card {
Text("Anything I want lives here")
}Why Slots Beat Booleans
Instead of many flags like showIcon or showTitle, expose slots. Callers compose exactly what they need, with full freedom.
Named Slots
Components can offer several slots, each a parameter. Scaffold does this with topBar, bottomBar, and content. 🧩
fun Banner(
title: @Composable () -> Unit,
action: @Composable () -> Unit
) { /* lay them out */ }Scopes Add Power
A slot can be a receiver lambda, giving the caller helpers. Inside a Column, content is ColumnScope.() -> Unit so weight works.
fun MyColumn(content: @Composable ColumnScope.() -> Unit) {
Column { content() }
}Passing Data Into a Slot
Slots can hand values to the caller. A list row slot might pass the item so the caller decides how to draw it.
fun Row(item: User, content: @Composable (User) -> Unit) {
content(item)
}Slots Keep State Hoisted
Because the caller supplies the slot content, your component stays stateless about what is inside it. Ownership stays clear.
Reuse Across Screens
One Card or Dialog with slots replaces a dozen near-identical components. You build the frame once and vary the filling. ♻️
Default Slot Content
Give a slot a sensible default so simple callers can skip it, while advanced callers override it fully.
fun Section(
header: @Composable () -> Unit = { Text("Section") },
content: @Composable () -> Unit
) { /* ... */ }The Slot Mindset
When a component starts collecting boolean flags, reach for slots instead. Flexibility comes from passing UI, not toggles.
Quick Check
What is the main benefit of a content slot lambda?
Recap
Slots accept UI as @Composable lambdas, optionally scoped or passing data. They make components flexible while keeping state hoisted. 🚀
Perguntas Frequentes
A aula “Slots de Estado do Compose e Lambdas de Conteúdo” é grátis?
Sim — o texto completo de “Slots de Estado do Compose e Lambdas de Conteúdo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Jetpack Compose Academy, atualize para CoddyKit PRO. O curso de Jetpack Compose Academy inclui 4 aulas no total.
O que vou aprender em “Slots de Estado do Compose e Lambdas de Conteúdo”?
Torne os componentes flexíveis com APIs de slots. Você pratica Jetpack Compose Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Jetpack Compose Academy?
Nenhuma experiência prévia é necessária. Jetpack Compose Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Slots de Estado do Compose e Lambdas de Conteúdo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Jetpack Compose Academy?
Sim. Cada aula de Jetpack Compose Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Composables com e sem Estado
- Elevando o Estado com value e onValueChange
- Fonte Única da Verdade
- Slots de Estado do Compose e Lambdas de Conteúdo