掌握 Jetpack Compose 中的 State,看这篇就够了

2022-12-25 01:20:34 浏览数 (2)

Jetpack Compose 是响应式 UI 框架。当我们更新 UI 状态时,Compose 会自动刷新 UI,将状态的变化同步到界面上。这个过程是自动的,不需要我们手动调用setTextsetColor之类的方法。

为了实现响应式,Jetpack Compose 使用State对象来感知 UI 状态的变化。

这篇文章会介绍所有和 Compose 的 State (状态) 相关的内容,包括:

  • 什么是状态
  • 如何创建状态
  • 如何使用状态
  • 有状态和无状态可组合项 (composable)

另外,在这篇文章的最后,还附加了额外的内容,不要错过 :-)

Jetpack Compose 中的状态State是什么

在 Jetpack 中,state表示一个和 UI 状态相关的值。每当状态发生改变,Jetpack Compose 都会自动刷新 UI。

State的值可以是任意类型:如像Boolean或者String一样的简单的基础类型,也可以是一个包含整个渲染到屏幕上的 UI 状态的复杂数据类型。

为了让 Compose 能够感知到状态变化,状态的值需要包装到一个State对象里。Jetpack Compose 提供的mutableStateOf()函数就能帮我们完成这个包装操作。这个函数会返回一个MutableState<T>实例,Compose 会跟踪这个实例的变化,在值被修改时进行 UI 更新。

0 人点赞