我正在使用 Jetpack Compose Navigation,并且在浏览应用程序时保存状态并调用 RestoreState,以免每次都重新加载列表。但当一个用户阻止另一个用户时,我不希望出现这种行为。阻止后,它应该在应用程序周围的每个列表中隐藏被阻止用户的所有内容。但是当它总是恢复状态时,该用户的帖子仍然包含在列表中。
我想在用户阻止另一个用户后“清除缓存”/清除所有保存的状态,这样当他导航时,每个屏幕都会再次启动 LaunchedEffect(Unit) 并获取更新的列表,而不会被阻止的用户帖子,来自后端。
如何做到这一点?
最佳答案
你可以尝试这个方法:
Clears any saved state associated with route that was previously saved via popBackStack when using a saveState value of true.
navController.clearBackStack("route_name")
您可以使用以下方法获取所有返回堆栈入口路由:
val routes = navController.backQueue.map { it.destination.route }
关于Android 导航 - 有没有办法清除所有 saveState 以在下次导航时强制重新加载每个屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74342799/