我有一个可组合项,需要在调用时从本地房间数据库中获取一些数据。当我导航到另一个可组合项然后导航回来时,它应该再次获取数据。
我在 LaunchedEffect 块中获取数据。我正在使用Compose Destinations Library 进行导航。
@Composable
fun DataScreen(navigator: DestinationsNavigator) {
val viewModel = viewModel<DataScreenViewModel>()
LaunchedEffect(Unit) {
viewModel.fetchData()
}
Button(onClick = { navigator.navigate(EditScreenDestination) }) {
Text("Edit")
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当我离开此可组合项并使用导航回到它时,navigator.popBackStack()我想重新获取数据,因为它可能已更改。
有没有办法可以检测到用户在我的 DataScreen 可组合项中导航回来?
或者有没有更好的方法来实现这一点。
android kotlin android-jetpack-compose jetpack-compose-navigation