Junior — Middle
Hogyan valósul meg az @Restartable annotáció funkciója a Jetpack Compose-ban, és mi a célja?
sobes.tech MI
Válasz az MI-től
A Jetpack Compose-ban az @Restartable annotációt olyan effektusok létrehozására használják, amelyek automatikusan újraindulnak, amikor a kulcsfontosságú paraméterek megváltoznak. Ez megkönnyíti az olyan effektusok, például korutinok vagy feliratkozások életciklusának kezelését, amelyeknek frissülniük kell a bemeneti adatok változásakor.
Cél:
- Lehetővé teszi mellékhatások indítását és megszakítását, amikor a függőségek változnak.
- Biztosítja az effektus automatikus újraindítását anélkül, hogy manuálisan kellene követni a változásokat.
Használati példa:
@Composable
fun MyComposable(userId: String) {
@Restartable
fun loadUserData() {
// Minden alkalommal fut, amikor a userId változik
LaunchedEffect(userId) {
val data = repository.getUserData(userId)
// állapot frissítése
}
}
loadUserData()
}
Ebben a példában, amikor a userId változik, az adatbetöltő effektus automatikusan újraindul, ami egyszerűsíti a kódot és deklaratívabbá teszi azt.