从 Jetpack Compose 中的另一个小部件访问一个小部件

Access a widget from another widget in jetpack compose

使用传统的 XML 您可以使用它的 ID 或标签获取视图的实例。

这在 Jetpack Compose 中如何实现?

Card(elevation = 1.dp, shape = RoundedCornerShape(8.dp), color = Color.Transparent) {
      // TARGET is here
      Padding(padding = 8.dp) {
           Text(text = "Net stat", style = +themeTextStyle { h6 })
      }
}
Text(text = netStatusState.value)
HeightSpacer(height = 10.dp)
Divider()
HeightSpacer(height = 10.dp)
Card(elevation = 1.dp, shape = RoundedCornerShape(8.dp), color = Color.Transparent) {
     Padding(padding = 8.dp) {
           Clickable(onClick = {
                            // MODIFY (Remove, change element, update attr) the target
                     }) {
              Button(text = "Click me if you can")
           }
     }
}

它甚至需要这样的功能,还是全部使用状态完成

可组合项没有 ID,您通常不需要获取可组合项的实例。将可组合函数视为打印语句会很有帮助。就像 println() 函数获取一些数据并将其写入控制台一样,可组合函数获取数据并将 measure/layout/draw 这些数据显示在屏幕上。

如果您更改数据,并且数据位于使用@Model 注释的 class 中,Jetpack compose 系统将使用新状态再次自动调用适当的函数,并且您的 UI 将被更新。