Таймер на LaunchedEffect в Compose
LaunchedEffect(keyN) запустит свою лямбду, в начале композиции. LaunchedEffect будет запускать свою лямбду снова каждый раз, когда изменится один из заданных ключей keyN
Причем в лямбде будет находится coroutine context
@Composable
fun Timer() {
var seconds by remember { mutableStateOf(0) }
LaunchedEffect(seconds) {
delay(1000)
seconds++
}
Text(text = "Seconds: $seconds")
}
mutableStateOf - Создает State при изменении которого compose функция перезапускается
remember - сохраняет этот State при каждом перезапуске функции