Fix detekt issue:

Lambda parameters in a @Composable that are referenced directly inside of restarting effects can cause issues or unpredictable behavior.

If restarting the effect is ok, you can add the reference to this parameter as a key in that effect, so when the parameter changes, a new effect is created.
However, if the effect is not to be restarted, you will need to use `rememberUpdatedState` on the parameter and use its result in the effect.

See https://mrmans0n.github.io/compose-rules/rules/#be-mindful-of-the-arguments-you-use-inside-of-a-restarting-effect for more information. [LambdaParameterInRestartableEffect]
This commit is contained in:
Benoit Marty 2024-01-19 20:44:43 +01:00 committed by Benoit Marty
parent 1c1cf60ba0
commit 3ced570b3c
12 changed files with 25 additions and 15 deletions

View file

@ -73,7 +73,7 @@ private fun TakeScreenshot(
onScreenshotTaken: (ImageResult) -> Unit
) {
val view = LocalView.current
LaunchedEffect(Unit) {
LaunchedEffect(onScreenshotTaken) {
view.screenshot {
onScreenshotTaken(it)
}