AndroidJetpackCompose:_uiState和uiState有什么区别?在ViewModel中应该读哪个?
创始人
2024-10-08 10:31:12
0

_jetpack compose 使用 uiState 和 _uiState 两个属性名,其中 uiState 是公共的可观察属性,而 _uiState 是私有的可变属性。在 ViewModel 中获取 uiState 时,应该使用公共属性名 uiState。

以下是使用 ViewModel 和 _uiState 的示例:

class MyViewModel : ViewModel() {
    private val _uiState = mutableStateOf(MyUiState())
    val uiState: State = _uiState

    //...
}

在 Activity 或 Compose 中使用视图模型的示例:

class MyComposable(private val viewModel: MyViewModel) : Composable {
    val uiState = viewModel.uiState.value // should use public property
    //val uiState = viewModel._uiState.value // should NOT use private property

    //...
}

class MyActivity : AppCompatActivity() {
    private val viewModel: MyViewModel by viewModels()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyComposable(viewModel = viewModel)
        }
    }
}

相关内容

热门资讯

记者揭秘!wepoker高级辅... 记者揭秘!wepoker高级辅助,wepoker国外版透视,透视教程(有挂攻略);原来确实真的有挂(...
透视私人局"红龙po... 透视私人局"红龙poker辅助器免费观看"详细辅助安装教程(好像是真的有挂);1.红龙poker辅助...
一分钟了解!大菠萝手游辅助,w... 一分钟了解!大菠萝手游辅助,wepoker破解器激活码,微扑克教程(有挂透视);原来确实真的有挂(需...
透视安装"如何下载德... 透视安装"如何下载德普之星辅助软件"详细辅助2025新版总结(素来是真的有挂)准备好在如何下载德普之...
透视存在"hhpok... 透视存在"hhpoker是真的还是假的"详细辅助透视教程(素来真的有挂)准备好在hhpoker是真的...
盘点几款!智星德州插件怎么下载... 盘点几款!智星德州插件怎么下载,wepoker有辅助工具吗,2025新版技巧(有挂透明);原来确实真...
透视数据"wepok... 透视数据"wepoker轻量版透视系统"详细辅助微扑克教程(原来是有挂)1、玩家可以在wepoker...
如何分辨真伪!hhpoker怎... 如何分辨真伪!hhpoker怎么开透视,wepoker透视app下载,教你教程(有挂辅助);小薇(透...
透视挂"wpk作弊&... 透视挂"wpk作弊"详细辅助切实教程(原生真的是有挂)1、很好的工具软件,可以解锁游戏的ai质量和中...
必看攻略!wepoker国外版... 必看攻略!wepoker国外版透视,wepoker怎么设置盖牌,透牌教程(有挂软件)准备好在wepo...