Junior — Middle
Como é implementada a funcionalidade da anotação @Restartable no Jetpack Compose e qual é o seu propósito?
sobes.tech IA
Resposta da IA
A anotação @Restartable no Jetpack Compose é usada para criar efeitos que se reiniciam automaticamente quando os parâmetros-chave mudam. Isto simplifica a gestão do ciclo de vida de efeitos, como corrotinas ou subscrições, que devem ser atualizados quando os dados de entrada mudam.
Propósito:
- Permite iniciar e cancelar efeitos secundários ao alterar dependências.
- Garante o reinício automático do efeito sem necessidade de acompanhar manualmente as mudanças.
Exemplo de uso:
@Composable
fun MyComposable(userId: String) {
@Restartable
fun loadUserData() {
// É executado sempre que userId muda
LaunchedEffect(userId) {
val data = repository.getUserData(userId)
// atualização do estado
}
}
loadUserData()
}
Neste exemplo, quando userId muda, o efeito de carregamento de dados será reiniciado automaticamente, simplificando o código e tornando-o mais declarativo.