我实际上是以这种方式从数据类创建MutableStateFlow
private val _uiState = MutableStateFlow(DataUiState())
val uiState: StateFlow<DataUiState> = _uiState.asStateFlow()
当调用from:
val newsItems = repository.dataItems(item)
_uiState.update {
it.copy(dataItems = dataItems)
}
方法update {}
显示了编译器中不存在的方法错误,为什么会发生这种情况?
需要导入update
函数才能使用:
import kotlinx.coroutines.flow.update
...
val newsItems = repository.dataItems(item)
_uiState.update {
it.copy(dataItems = newsItems)
}
还要确保导入kotlinx-coroutines-core
库:
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0'