当uiState使用collectAsState初始化并由或=使用时,性能有何不同?通过视图模型.uiState.collectAsState()瓦尔uiState值对比瓦尔uiState =查看模型.uiState.收集状态()
pbpqsu0x1#
它基本上允许您使用getter保存以读取您的状态值,请查看下面的示例。在您的视图模型中,您可以拥有这样的状态
val state: StateFlow<MainStates>
然后在您的视图中,如果您使用***by***操作符,则允许您直接读取状态,而无需.value
val state by viewModel.state.collectAsStateWithLifecycle() when(state) { is MainStates.Loading -> { CircularProgressIndicator() } is MainStates.LoadedData -> { MainComposable((state as MainStates.LoadedData).data) } }
如果你使用***"="***,那么你需要getter(“state.value”)来访问值。
1条答案
按热度按时间pbpqsu0x1#
它基本上允许您使用getter保存以读取您的状态值,请查看下面的示例。
在您的视图模型中,您可以拥有这样的状态
然后在您的视图中,如果您使用***by***操作符,则允许您直接读取状态,而无需.value
如果你使用***"="***,那么你需要getter(“state.value”)来访问值。