Junior — Middle
Podes enumerar os tipos de estado existentes no Jetpack Compose e explicar as suas diferenças?
sobes.tech IA
Resposta da IA
No Jetpack Compose, existem diferentes tipos de estado que ajudam a gerir as alterações na interface de utilizador:
-
MutableState<T> — tipo de estado básico que armazena um valor e notifica o Compose sobre as suas alterações para redesenhar a interface.
-
remember — função que mantém o estado entre recomposições dentro de uma única chamada de função.
-
rememberSaveable — extensão do remember que mantém o estado não só durante a recomposição, mas também em alterações de configuração (por exemplo, rotação de ecrã), usando um mecanismo de armazenamento de estado.
-
StateFlow / LiveData — fluxos de dados reativos que podem ser usados como fonte de estado no Compose através de adaptadores.
Diferenças:
remembermantém o estado apenas durante a vida da composição.rememberSaveabletambém mantém o estado ao recriar a atividade.- MutableState é um recipiente para um valor que o Compose rastreia.
Exemplo:
var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Pressionado $count vezes")
}