小编vic*_*sou的帖子

Jetpack Compose 导航状态无法恢复

我正在努力使用 Jetpack Compose 导航。我遵循 NowInAndroid 架构,但没有正确的行为。我的底部栏中有 4 个目的地,其中之一是 Feed 类型的目的地。在本例中,它调用 Firebase 数据库来获取多个产品。问题是,每次我更改目标(ej -> SearchScreen)并返回到 Feed 时,该(Feed)都不会恢复并再次加载所有数据。有人知道发生了什么事吗?

这是我的 navigationTo 函数 ->

fun navigateToBottomBarRoute(route: String) {
    val topLevelOptions = navOptions {
        popUpTo(navController.graph.findStartDestination().id) {
            saveState = true
        }
        launchSingleTop = true
        restoreState = true
    }
    when (route) {
        HomeSections.FEED.route -> navController.navigateToFeed(navOptions = topLevelOptions)
        HomeSections.SEARCH.route -> navController.navigateToSearch(navOptions = topLevelOptions)
        else -> {}
    }
}
Run Code Online (Sandbox Code Playgroud)

我的提要屏幕 ->

@OptIn(ExperimentalLifecycleComposeApi::class)
@Composable
fun Feed(
    onProductClick: (Long, String) -> Unit,
    onNavigateTo: (String) -> Unit,
    modifier: Modifier = Modifier,
    viewModel: …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-compose kotlin-stateflow jetpack-compose-navigation

5
推荐指数
0
解决办法
544
查看次数