Sobes.tech
Junior — Middle

V akom procese alebo životnom cykle komponentu React sa vykonáva efekt spustený pomocou LaunchedEffect?

sobes.tech AI

Odpoveď od AI

V Jetpack Compose sa efektom, ktorý sa spustí pomocou LaunchedEffect, sa vykonáva v životnom cykle zloženia komponentu. Konkrétne, LaunchedEffect spustí coroutine pri prvom vstupe do zloženia s určeným kľúčom, a táto coroutine je zrušená a znovu spustená pri zmene kľúča alebo pri opustení zloženia.

Týmto spôsobom sa efekt vykoná po tom, čo bola komponenta zložená a zobrazená, a pokračuje v práci, pokiaľ komponent zostáva v UI. To umožňuje vykonávať asynchrónne operácie súvisiace s životným cyklom komponentu, ako je načítanie dát alebo animácie.

Príklad:

@Composable
fun MyComponent(userId: String) {
    LaunchedEffect(userId) {
        // Tento kód sa vykoná pri prvom zobrazení komponentu
        // a pri zmene userId
        val data = loadData(userId)
        // aktualizovať stav s načítanými dátami
    }
}