Junior — Middle
¿Cómo se implementa la funcionalidad de la anotación @Restartable en Jetpack Compose y cuál es su propósito?
sobes.tech AI
Respuesta de la IA
La anotación @Restartable en Jetpack Compose se utiliza para crear efectos que se reinician automáticamente cuando cambian los parámetros clave. Esto simplifica la gestión del ciclo de vida de efectos como corutinas o suscripciones, que deben actualizarse cuando cambian los datos de entrada.
Propósito:
- Permite iniciar y cancelar efectos secundarios cuando cambian las dependencias.
- Asegura el reinicio automático del efecto sin necesidad de rastrear manualmente los cambios.
Ejemplo de uso:
@Composable
fun MyComposable(userId: String) {
@Restartable
fun loadUserData() {
// Se ejecuta cada vez que cambia userId
LaunchedEffect(userId) {
val data = repository.getUserData(userId)
// actualización del estado
}
}
loadUserData()
}
En este ejemplo, cuando userId cambia, el efecto de carga de datos se reiniciará automáticamente, lo que simplifica el código y lo hace más declarativo.