Android Studio Arctic Fox (Patch 3) flags, "The value true
assignment to var isVisited: Boolean
in the following composable is never used":
@Composable
fun MainView(navController: NavController) {
var isVisited by rememberSaveable { mutableStateOf(false) }
if (!isVisited) {
isVisited = true // never used?
navController.navigate("NextView")
}
Button(onClick = { navController.navigate("NextView") }) {
Text(text = "MainView")
}
}
虽然它显然按预期工作:防止在后续访问时MainView
导航到. 这是 的定义:NextView
MainView
NextView
@Composable
fun NextView(navController: NavController) {
Button(onClick = { navController.popBackStack() }) {
Text(text = "NextView")
}
}
Android Studio 是否根本无法识别跨重组的变量使用情况?或者是否有更惯用的方式在重组时有条件地执行代码?感谢您的任何回答或指示。
我正在使用 Kotlin 1.5.31、Compose 1.1.0-alpha06、navigation-compose 2.4.0-alpha04、lifecycle-runtime-ktx 2.4.0-rc01 构建 API 级别 31,尽管我在API 级别 30、Kotlin 1.5.21、Compose 1.0.1、navigation-compose 2.4.0-alpha04、lifecycle-runtime-ktx 2.3.1。(如果有帮助,我很乐意与这两个视图或其他依赖项和系统信息分享我MainActivity
设置的位置。)NavHost