Назад к вопросам
Junior — Middle
71
Какими методами можно сохранить и управлять состоянием пользовательского интерфейса в Jetpack Compose?
Компании, где спрашивали
АВ Софт
Ответ от нейросети
sobes.tech AI
В Jetpack Compose состояние пользовательского интерфейса можно сохранять и управлять несколькими способами:
- remember — сохраняет состояние в пределах композиции. При пересоздании UI значение сохраняется, пока композиция активна.
var count by remember { mutableStateOf(0) }
- rememberSaveable — похож на remember, но дополнительно сохраняет состояние при изменениях конфигурации (например, поворот экрана).
var text by rememberSaveable { mutableStateOf("") }
- ViewModel — для более сложного и долгоживущего состояния, которое сохраняется при пересоздании Activity или Fragment.
class MyViewModel : ViewModel() {
var count by mutableStateOf(0)
}
@Composable
fun MyScreen(viewModel: MyViewModel = viewModel()) {
Text("Count: ${viewModel.count}")
}
- State hoisting — состояние поднимается выше по иерархии компонентов и передается через параметры, что улучшает тестируемость и переиспользуемость.
Эти методы позволяют эффективно управлять состоянием UI, обеспечивая его сохранность и реактивность.