Junior — Middle
Můžeš vyjmenovat existující typy stavu v Jetpack Compose a vysvětlit jejich rozdíly?
sobes.tech AI
Odpověď od AI
V Jetpack Compose existují různé typy stavu, které pomáhají řídit změny UI:
-
MutableState<T> — základní typ stavu, který ukládá hodnotu a informuje Compose o jejích změnách, aby překreslil UI.
-
remember — funkce, která uchovává stav mezi rekonstrukcemi v rámci jednoho volání funkce.
-
rememberSaveable — rozšíření remember, které uchovává stav nejen při rekonstrukci, ale i při změnách konfigurace (například otočení obrazovky), pomocí mechanismu ukládání stavu.
-
StateFlow / LiveData — reaktivní datové proudy, které lze použít jako zdroj stavu v Compose přes adaptéry.
Rozdíly:
rememberuchovává stav pouze během života kompozice.rememberSaveablenavíc uchovává stav při znovuvytvoření aktivity.- MutableState je kontejner pro hodnotu, kterou Compose sleduje.
Příklad:
var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Stisknuto $count krát")
}