前言
附带效应是指LaunchedEffect、DisposableEffect、rememberCoroutineScope、rememberUpdatedState、produceState 、derivedStateOf的使用。附带效应这4个字在google官方文档上的表达与解释挺让人难以理解的。其实个人认为准确的描述应该是外部产生的数据向Compose状态作用域内传递。这里的外部数据是指网络请求数据、数据库数据、定时触发状态、子线程运算数据、Activity生命周期等等这些数据。
在学了Compose的状态管理后可以明白,Compose的重组需要依靠mutableStateOf 。那为什么还需要有LaunchedEffect、DisposableEffect等等这些函数呢?理由如下:
- 在Compose作用域里实现协程与异步操作,从而对一些资源的初始化与销毁进行异步操作
- 接收外部数据回调,但是建议尽量选择用协程取代接口回调方法
- 进一步的控制Compose重组的影响范围
- 配合LifeCycle,让Compose对Activity的生命周期实现监听(这个其实与第二点其实是一样的,但是这里单独拿出来强调)
LaunchedEffect
End
标签:Compose,附带,Jetpack,效应,作用域,Android,LaunchedEffect,数据 From: https://www.cnblogs.com/guanxinjing/p/16939623.html