Junior — Middle
Czy możesz wyjaśnić koncepcję LaunchEffect i na czym polega jej główna idea?
sobes.tech AI
Odpowiedź od AI
LaunchEffect to efekt w Jetpack Compose, który uruchamia blok kodu raz podczas pierwszego uruchomienia kompozycji lub przy zmianie klucza.
Głównym pomysłem jest wykonywanie efektów ubocznych, które powinny wystąpić raz, na przykład uruchomienie korutyny do ładowania danych, subskrypcja na zdarzenia lub inicjalizacja.
Przykład użycia:
LaunchedEffect(key1 = someId) {
// Ten kod zostanie wykonany przy pierwszym uruchomieniu i przy zmianie someId
val data = repository.loadData(someId)
viewModel.updateData(data)
}
W ten sposób LaunchEffect pomaga zarządzać cyklem życia efektów ubocznych w Compose, zapewniając, że są uruchamiane we właściwym czasie i nie powtarzają się bez potrzeby.