0

kotlinx.coroutines.flow.asStateFlow由于某种原因,Android Studio 自动填充无法识别。

在此处输入图像描述

这是我的项目 build.gradle 的片段:

composeOptions {
    kotlinCompilerExtensionVersion = "1.1.0-alpha02"
    kotlinCompilerVersion = "1.5.21"
}

implementation "androidx.activity:activity-compose:1.3.1"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'

任何帮助表示赞赏。

4

1 回答 1

0

asStateFlow仅适用于 MutableStateFlows 并将它们向上转换为只读 StateFlow,因此在这里调用它是没有意义的,因为您会立即使用另一个函数调用来跟进它。如果您尝试将常规 Flow 转换为 StateFlow,则需要使用stateIn,而不是asStateFlow. 我认为 for 的唯一用途asStateFlow()是简洁地制作私有 MutableStateFlow 的公共只读版本,而无需输入其确切类型。

我还没有使用过 Compose,但从我简要阅读的内容来看,我认为您collectAsState无论如何都可以直接调用冷流,因此您不需要进行转换。

于 2021-09-19T03:56:36.993 回答