小编Maa*_*arS的帖子

在 Jetpack Compose Navigation 中返回可组合项时,如何确保其中的数据刷新?

我有一个可组合项,需要在调用时从本地房间数据库中获取一些数据。当我导航到另一个可组合项然后导航回来时,它应该再次获取数据。

我在 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

6
推荐指数
1
解决办法
2212
查看次数