在使用. observveAsState()时,如何在更改MutableLiveData的值后开始执行代码块?
范例:MutableLiveData变更后,需要呼叫吐司。
@Composable
fun TextInfo() {
val isSuccess by remember { viewModel.isSuccess.observeAsState() }//var isSuccess = MutableLiveData<Boolean>() — in ViewModel
LaunchedEffect(isSuccess) {
Log.d("IS SUCCESS", "trues")
}
}
1条答案
按热度按时间ldioqlga1#
显示吐司是一种副作用,因此您需要将其放在LaunchedEffect中。请将LiveData状态设置为LaunchedEffect的键。这样,只有在此特定LiveData的值发生更改时,才会出现副作用。
请参阅documentation here。