0Pricing
Jetpack Compose Academy · 강의

코루틴을 위한 LaunchedEffect

재구성에 연결된 일시 중단 작업을 시작합니다.

코루틴을 위한 LaunchedEffect은(는) CoddyKit의 무료 Jetpack Compose Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Jetpack Compose Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Jetpack Compose Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

Effects Live Outside Composition

Composables should be pure and run many times. When you need to do real work like a network call, you reach for a side effect handler instead.

Meet LaunchedEffect

A LaunchedEffect runs suspend code in a coroutine that is tied to where it sits in your composition. Perfect for one-shot startup work. 🚀

It Starts When It Enters

When a LaunchedEffect first enters the composition, it launches its block. When it leaves the composition, the coroutine is cancelled for you.

LaunchedEffect(Unit) {
    loadProfile()
}

The Key Controls Restarts

The first argument is a key. If the key changes between recompositions, the old coroutine is cancelled and a fresh one starts.

LaunchedEffect(userId) {
    user = fetchUser(userId)
}

Use Unit to Run Once

Passing Unit (or true) as the key means the effect never restarts. It runs a single time when the Composable appears.

LaunchedEffect(Unit) {
    analytics.logScreenView()
}

Suspend Calls Are Welcome

Inside the block you can freely call suspend functions like delay or a Retrofit request. The coroutine scope is provided for you.

LaunchedEffect(Unit) {
    delay(2000)
    showSplash = false
}

Never Launch in the Body

Calling a coroutine directly in the Composable body is a bug. The body re-runs on every recomposition, so you would fire the work again and again.

Cancellation Is Automatic

When the user navigates away and the Composable leaves the screen, Compose cancels the coroutine. No manual cleanup, no leaks.

Pair It with State

Effects usually write their result into state so the UI redraws. Store the loaded data, and recomposition shows it.

var data by remember { mutableStateOf<List<Item>>(emptyList()) }
LaunchedEffect(Unit) { data = repo.load() }

Multiple Keys for Combined Triggers

You can pass several keys. The effect restarts whenever any of them changes, which is handy for re-fetching on filter changes.

LaunchedEffect(query, sort) {
    results = search(query, sort)
}

A Typical Loading Pattern

Together it reads like a recipe: set loading true, await the result, then store it. Compose handles the lifecycle around your coroutine.

LaunchedEffect(id) {
    loading = true
    item = repo.get(id)
    loading = false
}

Quick Check

Think about how restarts are controlled.

Recap: LaunchedEffect

Nice work! LaunchedEffect runs suspend code tied to composition, restarts when its key changes, and cancels itself automatically when the Composable leaves. 🎯

자주 묻는 질문

“코루틴을 위한 LaunchedEffect” 강의는 무료인가요?

네 — “코루틴을 위한 LaunchedEffect” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Jetpack Compose Academy 강의 전체를 잠금 해제할 수 있습니다. Jetpack Compose Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“코루틴을 위한 LaunchedEffect”에서 뭘 배우나요?

재구성에 연결된 일시 중단 작업을 시작합니다. 브라우저에서 직접 실행하는 실습 코드로 Jetpack Compose Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Jetpack Compose Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Jetpack Compose Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“코루틴을 위한 LaunchedEffect” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Jetpack Compose Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Jetpack Compose Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 코루틴을 위한 LaunchedEffect
  2. 이벤트를 위한 rememberCoroutineScope
  3. DisposableEffect와 정리
  4. derivedStateOf와 snapshotFlow
← Jetpack Compose Academy(으)로 돌아가기