Pon*_*rai 5 android android-jetpack-compose
如 Jetpack compose 文档中所述,稳定类型必须遵守以下合同。
第一份和第三份合同很简单。如何才能满足第二点呢?
例如,我有一个稳定的类型,称为User
data class User(val username: String, var email: String)
Run Code Online (Sandbox Code Playgroud)
我在应用程序运行过程中更改了电子邮件,如何通知作文?
Phi*_*hov -2
Compose 有一种特殊State类型,可以让您在需要重组时发出通知。这是启动重组的最常见方法。
该类data是一个很好的工具,可以为您提供copy开箱即用的所有字段,但您应该避免使用var并仅val用于您的字段以避免错误。
因此,更新字段的基本示例如下所示:
var state by remember { mutableStateOf(User(username = "", email = "")) }
TextField(
value = state.username,
onValueChange = {
state = state.copy(username = it)
}
)
Run Code Online (Sandbox Code Playgroud)
您可以以同样的方式使用Flow/ ,因为它们可以用/收集。LiveDataStatecollectAsStateobserveAsState
更多信息可以在 Compose文档中找到,包括这个解释基本原理的YouTube 视频。
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |