LaunchedEffect стартует эффект от ключей при входе в composition; rememberCoroutineScope даёт scope для корутин из колбэков (клик), живущий, пока composable в composition.
Разбор
- Загрузка данных при появлении экрана → LaunchedEffect.
- Анимация/запрос по клику → scope.launch в onClick.
- Оба отменяются при уходе composable из дерева.
- Не запускайте GlobalScope.
Итог
Выбор = «эффект от state/входа» vs «реакция на событие пользователя».