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.