Maa*_*arS 6 android kotlin android-jetpack-compose 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 可组合项中导航回来?
或者有没有更好的方法来实现这一点。
小智 0
这将有助于分享更多有关项目结构的背景信息,因为可能有更优雅的选项,但无论如何,您有一些应该有效的选项。
您似乎正在使用片段或活动,因此您可以执行以下任一操作:
fetchData在 onStart 回调中进行 Fragment 或 Activity 调用对于这两个选项,您都需要从可组合项中删除“LaunchedEffect”块
| 归档时间: |
|
| 查看次数: |
2212 次 |
| 最近记录: |