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.

相关推荐
zhangphil8 分钟前
Android Coil 3 ImageRequest.Builder error() 和 fallback()异同
android·kotlin
我命由我1234521 分钟前
Jetpack Compose - @Preview 注解
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
淡淡的香烟23 分钟前
Android中WebRTC通信使用
android·webrtc
一笑的小酒馆12 小时前
Android中WebRTC通信
android
KevinWang_15 小时前
Android Hilt 依赖注入
android
古法安卓15 小时前
Android-深入理解 Android 回调(Callback)机制
android·性能优化·android studio
古法安卓15 小时前
Android-车机 GNSS 定位数据接收问题排查
android·java·android studio
FungLeo17 小时前
Flutter 吸顶分组列表实战:语义桶分组 + 点击头平滑滚动
android·flutter
阿巴斯甜18 小时前
Android 自定义权限
android
FungLeo19 小时前
Flutter 超长 StatefulWidget 拆分术:part of + extension on State 实战
android·flutter·dart