Rez*_*ati 9 viewmodel android-viewmodel android-jetpack android-jetpack-compose
我在 YouTube 上观看了一些教程项目,其中一些制作了 viewmodel 文件并编写了一些代码,只是为了使用 viewmodel!
我们有rememberand rememberSavableand stateand recomposition
and ... 在 jetpack 中组成。那么为什么还有人使用 viewmodel 呢?!它有更多的代码,使我们初学者更难以理解该项目。
我猜他们几乎没学过 XML 的视图模型,而且他们不能就这么忘记它!
在jetpack compose中是否可以以我们不需要使用viewmodel的方式编写代码?
ViewModel 对于在屏幕之间传递数据或更改可组合项(如 xml 中的另一个)仍然很有用。
假设您有一个要更改 TopAppBar 的 Cart 可组合项,或者其他彼此不相关但会更改 TopAppbar 颜色或文本的可组合项。您可以使用共享 ViewModel 从不同位置进行设置并侦听 TopAppBar 可组合项内的 mutableState。
另外,remember用于通过重组来存储数据,rememberSaveable在remember之上添加配置更改。当您移至下一个屏幕并返回时,如果您的可组合项未组合,这些将被重新实例化,但只要您的应用程序处于活动状态,您就可以将数据保留在 ViewModel 中。您可以通过多种方式使用 ViewModel。
最后但并非最不重要的一点是,请记住使您的可组合项具有状态,而不是使用状态托管使您的可组合项更易于维护。
如果您在有状态可组合项的顶部构建层,则当子项或父项中的任何 MutableState 发生更改时,您的可组合项将进入的状态排列会增加。
跟踪从父级到子级的状态变化可能很困难。Modifier.pointerInput(keys)当我的状态没有按预期改变时,我有时会遇到这个问题。
在我看来,状态管理是 Compose 最困难的方面之一。因此,状态较少的可组合项可以更轻松地管理可组合项的内部更改
| 归档时间: |
|
| 查看次数: |
2064 次 |
| 最近记录: |