Junior — Middle
Como implementar e gerir fluxos de dados com Flow no Jetpack Compose?
sobes.tech IA
Resposta da IA
No Jetpack Compose, para gerir fluxos de dados, costuma-se usar Kotlin Flow, que permite receber e processar dados de forma assíncrona.
A principal forma de integrar o Flow no Compose é usar a função collectAsState(), que recolhe os valores do Flow e os converte em State, facilitando a atualização reativa da UI.
Exemplo:
@Composable
fun UserScreen(viewModel: UserViewModel) {
val userState by viewModel.userFlow.collectAsState(initial = User())
Text(text = "Olá, ${userState.name}")
}
class UserViewModel : ViewModel() {
private val _userFlow = MutableStateFlow(User())
val userFlow: StateFlow<User> = _userFlow
// Atualizar dados
fun updateUser(newUser: User) {
_userFlow.value = newUser
}
}
Dessa forma, o Compose subscreve automaticamente às atualizações do Flow e redesenha a UI quando os dados mudam. Para casos mais complexos, pode-se usar LaunchedEffect e collect dentro de um Composable.