Junior — Middle
Czy możesz wymienić istniejące typy stanu w Jetpack Compose i wyjaśnić ich różnice?
sobes.tech AI
Odpowiedź od AI
W Jetpack Compose istnieją różne typy stanów, które pomagają zarządzać zmianami interfejsu użytkownika:
-
MutableState<T> — podstawowy typ stanu, który przechowuje wartość i informuje Compose o jej zmianach, aby odświeżyć UI.
-
remember — funkcja, która zachowuje stan między rekonstrukcjami w ramach jednego wywołania funkcji.
-
rememberSaveable — rozszerzenie remember, które zachowuje stan nie tylko podczas rekonstrukcji, ale także przy zmianach konfiguracji (np. obrót ekranu), korzystając z mechanizmu zapisywania stanu.
-
StateFlow / LiveData — reaktywne strumienie danych, które można używać jako źródło stanu w Compose za pomocą adapterów.
Różnice:
rememberprzechowuje stan tylko podczas życia kompozycji.rememberSaveabledodatkowo zachowuje stan przy ponownym tworzeniu aktywności.- MutableState to kontener dla wartości, którą śledzi Compose.
Przykład:
var count by rememberSaveable { mutableStateOf(0) }
Button(onClick = { count++ }) {
Text("Naciśnięto $count razy")
}