【问题标题】:mutableState VS mutableStateFlow?可变状态 VS 可变状态流?
【发布时间】:2022-01-10 00:38:06
【问题描述】:

我很困惑,有人可以向我解释一下,这两者之间的主要区别是什么?我很难理解。 mutableState 是在 Jetpack Compose 中引入的,现在我的问题是,我们是否应该在 View Model 中使用它来替代 Mutabel State Flow?它们的目的和主要区别是什么?

【问题讨论】:

标签: android android-jetpack-compose stateflow


【解决方案1】:

mutableState 正如您所提到的,它是 Jetpack Compose 的一部分,它充当触发器和可观察数据,以触发重新组合或更新您的 ui 状态。组成取决于读取mutableState值的组件级别

在可组合项中使用 mutableStateOf 取决于您的逻辑。这是 Jetpack Compose 的简单更新标志。

另一方面,mutableStateFlow 类似于 RxJava 的主题,您可以在其中设置和观察值,并以反应方式对其执行多项操作,例如映射、过滤、设置线程或使用它处理错误。

myStateFlow.debounce(1000)
            .onStart {  }
            .catch { 
                
            }
            .distinctUntilChanged()
            .launchIn(viewModelScope)

【讨论】:

    【解决方案2】:

    MutableState 用于 Jetpack Compose,MutableStateFlow 用于替换 MutableLiveData,在 ViewModel 内部使用。

    【讨论】:

      猜你喜欢
      • 2018-11-06
      • 2020-11-12
      • 2021-12-06
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2018-03-14
      • 1970-01-01
      相关资源
      最近更新 更多