jc1*_*c12 23 android android-jetpack-compose
我今天下载了 Android Studio Bumblebee beta 并注意到一个新警告:
“StateFlow.value 不应在组合内调用”
为什么我们不应该在组合中调用 StateFlow.value ?
Cab*_*zas 34
就我而言,我.collectAsState()这样添加
@Composable
fun yourScreen() {
val state = viewModel.viewState.collectAsState()
when (state.value) {
// your code
}
}
Run Code Online (Sandbox Code Playgroud)
Nek*_*cer 17
因为在作曲中你应该倾听事件,而不仅仅是阅读当前的事件。如果您只读取当前视图,则在值更改后您的视图将不会重新组合。
我的意思是 - 也许有一个有效的用例,但我从未遇到过。我想您看到的警告只是警告用户他们正在尝试做一些他们可能不想做的事情