Sobes.tech
Junior — Middle

Jak je implementována funkčnost anotace @Restartable v Jetpack Compose a jaký je její účel?

sobes.tech AI

Odpověď od AI

Poznámka @Restartable v Jetpack Compose se používá k vytváření efektů, které se automaticky restartují při změně klíčových parametrů. To usnadňuje správu životního cyklu efektů, jako jsou korutiny nebo odběry, které by měly být aktualizovány při změně vstupních dat.

Účel:

  • Umožňuje spouštět a rušit vedlejší efekty při změně závislostí.
  • Zajišťuje automatické restartování efektu bez nutnosti ručně sledovat změny.

Příklad použití:

@Composable
fun MyComposable(userId: String) {
    @Restartable
    fun loadUserData() {
        // Spustí se při každé změně userId
        LaunchedEffect(userId) {
            val data = repository.getUserData(userId)
            // aktualizace stavu
        }
    }

    loadUserData()
}

V tomto příkladu se při změně userId automaticky restartuje efekt načítání dat, což zjednodušuje kód a činí jej více deklarativním.