Slots de estado de Compose y lambdas de contenido
Haga flexibles los componentes con APIs de slots.
Slots de estado de Compose y lambdas de contenido es una lección gratuita de Jetpack Compose Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Jetpack Compose Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Jetpack Compose Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en 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. 🚀
Aprende Kotlin con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Slots de estado de Compose y lambdas de contenido» es gratis?
Sí — el texto completo de «Slots de estado de Compose y lambdas de contenido» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Jetpack Compose Academy, actualiza a CoddyKit PRO. El curso de Jetpack Compose Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Slots de estado de Compose y lambdas de contenido»?
Haga flexibles los componentes con APIs de slots. Practicas Jetpack Compose Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Jetpack Compose Academy?
No se requiere experiencia previa. Jetpack Compose Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Slots de estado de Compose y lambdas de contenido»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Jetpack Compose Academy?
Sí. Cada lección de Jetpack Compose Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Composables con y sin estado
- Elevar el estado con value y onValueChange
- Fuente única de la verdad
- Slots de estado de Compose y lambdas de contenido