我正在动态构建导航图,但调用 navigate() 的代码发现该路线尚不存在。这可能是竞争条件或错误,但我仍然想优雅地处理它而不是崩溃
java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/XXX } cannot be found in the navigation graph NavGraph(0x0) startDestination={Destination(0x78d845ec) route=home}
在致电
navController.exists(route)
之前,我找不到任何可以使用的.navigate()
选项。
Column(modifier = Modifier
.fillMaxSize()
.align(Alignment.CenterStart)
.clickable {
navController.navigate(item.key)
}) { ... }
捕获异常是优雅处理它的唯一选择吗?
有一些建议,例如检查
navController.currentBackStackEntry?.destination?.id
,但这不一定是预期的目的地。