kotlinx.coroutines.flow.asStateFlow
Das automatische Ausfüllen von Android Studio kann aus irgendeinem Grund nicht erkannt werden.
Hier ist ein Ausschnitt meines Projekts 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'
Jede Hilfe ist willkommen.
Lösung des Problems
asStateFlow
ist nur für MutableStateFlows und wandelt sie in schreibgeschützten StateFlow um, daher ist es sinnlos, es hier aufzurufen, da Sie ihm sofort einen weiteren Funktionsaufruf folgen lassen. Wenn Sie versuchen, einen regulären Flow in einen StateFlow umzuwandeln, müssen Sie verwenden stateIn
, nicht asStateFlow
. Ich denke, die einzige Verwendung für asStateFlow()
besteht darin, eine öffentliche schreibgeschützte Version eines privaten MutableStateFlow zu erstellen, ohne den genauen Typ eingeben zu müssen.
Ich habe Compose noch nicht verwendet, aber nach dem, was ich kurz gelesen habe, denke ich, dass Sie collectAsState
trotzdem direkt auf einen kalten Flow zugreifen können, sodass Sie keine Konvertierung durchführen müssen.
Keine Kommentare:
Kommentar veröffentlichen