Sobes.tech
Junior — Middle

Ako je implementirana funkcionalita anotácie @Restartable v Jetpack Compose a aký je jej účel?

sobes.tech AI

Odpoveď od AI

Poznámka @Restartable v Jetpack Compose sa používa na vytváranie efektov, ktoré sa automaticky reštartujú pri zmene kľúčových parametrov. To zjednodušuje správu životného cyklu efektov, ako sú korutiny alebo odberné miesta, ktoré by sa mali aktualizovať pri zmene vstupných údajov.

Účel:

  • Umožňuje spúšťať a rušiť vedľajšie efekty pri zmene závislostí.
  • Zabezpečuje automatické reštartovanie efektu bez potreby manuálneho sledovania zmien.

Príklad použitia:

@Composable
fun MyComposable(userId: String) {
    @Restartable
    fun loadUserData() {
        // Spúšťa sa pri každej zmene userId
        LaunchedEffect(userId) {
            val data = repository.getUserData(userId)
            // aktualizácia stavu
        }
    }

    loadUserData()
}

V tomto príklade, keď sa userId zmení, efekt načítania dát sa automaticky reštartuje, čo zjednodušuje kód a robí ho viac deklaratívnym.