Junior — Middle
Môžeš vymenovať existujúce typy stavu v Jetpack Compose a vysvetliť ich rozdiely?
sobes.tech AI
Odpoveď od AI
V Jetpack Compose existujú rôzne typy stavu, ktoré pomáhajú pri správe zmien UI:
-
MutableState<T> — základný typ stavu, ktorý uchováva hodnotu a informuje Compose o jej zmenách, aby mohol prekresliť UI.
-
remember — funkcia, ktorá zachováva stav medzi rekonštrukciami v rámci jedného volania funkcie.
-
rememberSaveable — rozšírenie remember, ktoré uchováva stav nielen počas rekonštrukcie, ale aj pri zmenách konfigurácie (napríklad otočenie obrazovky), pomocou mechanizmu ukladania stavu.
-
StateFlow / LiveData — reaktívne dátové toky, ktoré možno použiť ako zdroj stavu v Compose cez adaptér.
Rozdiely:
rememberuchováva stav iba počas života kompozície.rememberSaveablenavyše uchováva stav pri znovu vytvorení aktivity.- MutableState je kontajner pre hodnotu, ktorú Compose sleduje.
Príklad:
var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Stlačené $count krát")
}