繁体   English   中英

如何在 Jetpack Compose 的 AndroidView 中使用 LaunchEffect?

[英]How can I use LaunchEffect in the AndroidView in the Jetpack Compose?

我想使用 AndroidView 的 LaunchEffect 从 ViewModel Stateflow 收集数据,但出现错误。 我该如何解决?

在此处输入图像描述

您只能在@Composable function 内运行 LaunchedEffect,这意味着您的 Lamba 应该使用@Composable () -> Unit进行注释以便兼容。 但我不太确定这是一个好习惯。

您正在尝试使用可组合的 LaunchedEffect 不在可组合的 scope 内。 将启动效果移到 getMapAsync 之外。

你可以做类似的事情。

@Composable
fun MapViewContainer {
   ...

   var mapIsReady by remember { mutableStateOf(false) }

   ...

    mapView.getMapAsync {
       mapIsReady = true
       ...
    }

    ...

    if (mapIsReady) {
       // do some compose things
    }
  }
}

暂无
暂无

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

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