Compose 提升状态的场景

Where to hoist that state in Compose? 了解在 Jetpack Compose 中提升状态的方式和场景。

1. Composable functions

点击 Message 展示消息时间。

Not hoisting is a valid option.

这个 UI 逻辑例子不需要提升状态。

2. State hoisting

在下面的例子中,消息列表的状态需要提升。

Place state in the lowest common ancestor.

3. Plain state holder class

使用 state holder class 做状态提升,例如 LazyListState。

LazyListState 抽象了 scrollPosition 同时暴露了应用逻辑的方法,比如 scrollToItem()、scroll()、animateScrollToItem()。

4. Android architecture Components(AAC)ViewModel

使用 ViewModel 做状态提升。

5. Recap

Keep state as low as possible.

相关推荐
洞窝技术14 分钟前
从0到30+:智能家居配网协议融合的实战与思考
android
QING61834 分钟前
SupervisorJob子协程异常处理机制 —— 新手指南
android·kotlin·android jetpack
毕设源码-朱学姐1 小时前
【开题答辩全过程】以 基于安卓的停车位管理系统与设计为例,包含答辩的问题和答案
android
PWRJOY1 小时前
解决Flutter构建安卓项目卡在Flutter: Running Gradle task ‘assembleDebug‘...:替换国内 Maven 镜像
android·flutter·maven
王家视频教程图书馆3 小时前
android java 开发网路请求库那个好用请列一个排行榜
android·java·开发语言
花卷HJ3 小时前
Android 文件工具类 FileUtils(超全封装版)
android·java
Fate_I_C3 小时前
Kotlin 中的 suspend(挂起函数)
android·开发语言·kotlin
花卷HJ3 小时前
Android 下载管理器封装实战:支持队列下载、取消、进度回调与自动保存相册
android·java
凡小烦4 小时前
看完你就是古希腊掌管Compose输入框的神!!!
android·kotlin
苏金标4 小时前
android切换语言
android