gao*_*way 0 kotlin android-jetpack-compose
LaunchedEffect变化value是实施println
但是为什么第一次进入默认的时候也执行呢value,真是让人费解,为什么要这样设计呢。
\nLaunchedEffect(value) {\n println("--1--")\n}\n\nRun Code Online (Sandbox Code Playgroud)\n如何避免第一次执行\xef\xbc\x9f
\n您可以像这样制作自定义效果UpdateEffect:
/**
* The same as [LaunchedEffect] but skips the first invocation
*/
@Composable
fun UpdateEffect(key: Any, block: suspend CoroutineScope.() -> Unit) {
var isTriggered by remember { mutableStateOf(false) }
LaunchedEffect(key) {
if (isTriggered) {
block()
} else {
isTriggered = true
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后将您的替换LaunchedEffect为UpdateEffect.
| 归档时间: |
|
| 查看次数: |
2705 次 |
| 最近记录: |