繁体   English   中英

Jetpack Compose 添加 onClick 将重新组合

[英]Jetpack Compose add onClick will Recomposing

我的代码

@Composable
fun AlbumPage(navHostController: NavHostController) {
   ElevatedButton(onClick = {
      navHostController.popBackStack()
   }) {
      Text(text = "click")
   }

   SideEffect {
        Log.d("tag","1111")
   }
}

当我在 onClick{} 中设置 navHostController.popBackStack() 时,日志显示两次

14:53:34.452 D 1111

14:53:34.816 D 1111

我删除 navHostController.popBackStack()

@Composable
fun AlbumPage(navHostController: NavHostController) {
   ElevatedButton(onClick = {
      //navHostController.popBackStack()
   }) {
      Text(text = "click")
   }

   SideEffect {
        Log.d("tag","1111")
   }
}

登录一次

为什么?

NavHostController.kt源文件说明

When the given navController
 * changes the back stack due to a [NavController.navigate] or [NavController.popBackStack] this
 * will trigger a recompose and return the top entry on the back stack.
 *
 * @return a mutable state of the current back stack entry

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM