observeAsState

observeAsState

温馨提示:本文最后更新于2025-12-17 11:06:47,某些文章具有时效性,若有错误或已失效,请在下方留言

observeAsState 是 Jetpack Compose 中用于 将 LiveData 转换为 Compose 可观察状态(State) 的扩展函数。

作用
LiveData 的变化自动触发Compose UI 重组。

基本用法

// 无默认值
val user by viewModel.userLiveData.observeAsState()

// 有默认值
val user by viewModel.userLiveData.observeAsState(initial = null)

userLiveData 更新时,UI 会自动重组。

存在原因

Compose 不能直接观察 LiveDataobserveAsState 负责:

  • 监听 LiveData
  • 转换为 State<T>
  • 自动处理生命周期

使用场景

@Composable
fun UserScreen(viewModel: UserViewModel) {
   val user by viewModel.user.observeAsState()

   user?.let {
       Text(it.name)
   }
}
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容