Abhimanyu
07/20/2023, 2:53 AMLaunchedEffect
and remember
?
LaunchedEffect
uses remember
internally.
@Composable
@NonRestartableComposable
@OptIn(InternalComposeApi::class)
fun LaunchedEffect(
key1: Any?,
block: suspend CoroutineScope.() -> Unit
) {
val applyContext = currentComposer.applyCoroutineContext
remember(key1) { LaunchedEffectImpl(applyContext, block) }
}
Abhimanyu
07/20/2023, 2:54 AMLaunchedEffect
,
1. coroutine scope
2. Returns the calculated data.Abhimanyu
07/20/2023, 2:56 AMblock
updates another mutable state in the Composable,
should I use remember
or LaunchedEffect
?Abhimanyu
07/20/2023, 2:56 AM@Composable
fun Test(
para1: Int,
) {
var result = remember {
mutableStateOf("")
}
remember(para1) {
aMethodsWithCallbacks() { updatedResult: String ->
result = updatedResult
}
}
return result
}
vs
@Composable
fun Test(
para1: Int,
) {
var result = remember {
mutableStateOf("")
}
LaunchedEffect(para1) {
aMethodsWithCallbacks() { updatedResult: String ->
result = updatedResult
}
}
return result
}
Chris Sinco [G]
07/20/2023, 3:26 AMAbhimanyu
07/20/2023, 3:46 AMChris Sinco [G]
07/20/2023, 3:54 AMmattinger
07/21/2023, 4:28 AM