android - 是状态仅针对 Android 中的 @Composable 设计?
解决方案
是的,作为androidx.compose.runtime
包装的一部分State<T>
确实是作为可组合物的价值持有者。
如果您想在ViewModels或Composables中发布/发送和使用“状态”,您可能需要查看StateFlow 和 SharedFlow
您可以collect
像使用任何 kotlin 一样Flow<T>
使用它们,并collectAsState
在 compose 函数中使用它们。
@Composable
fun YourComposable() {
val myState by viewModel.stats.collectAsState()
}
推荐阅读
- python - 为什么局部变量总是指向内存中的同一个地方?
- pandas - Panda 的 DataFrame 转储到 CSV 文件未正确解码值。它有 Bytea 数据作为列
- c - 如果 else 语句不起作用,我的 true 或 false
- javascript - React 组件:setState 工作但没有更新组件
- kubernetes - 无法从 kubernetes 外部访问 kafka
- node.js - 如何将环境变量添加到 AWS 放大?
- php - 如何检查表A中表B的项目数组?(不使用循环)
- python - 以 Level=0 为组的多级列上的简单矢量化数学
- typescript - JS lib的Typescript自定义类型,导入不起作用
- c++ - 将带有函数和运算符的 Raku grep 闭包移植到 C++ 中