Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
327 of 502 menu
◀ ▶

Класс State

Интерфейс State описывает значение, за которым следит Compose. Текущее значение берут из свойства value. Менять его напрямую нельзя: для записи нужен MutableState из mutableStateOf или State из collectAsState.

Синтаксис

val text: State<String> = mutableStateOf("abcde") val current = text.value

Пример

Давайте прочитаем State через by:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val holder = remember { mutableStateOf("abcde") } val text by holder Text(text = text) } } }

На экране появится текст "abcde" из свойства value.

Пример

Давайте передадим State в дочерний composable:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Text import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val label: State<String> = remember { mutableStateOf("12345") } LabelText(state = label) } } } @androidx.compose.runtime.Composable private fun LabelText(state: State<String>) { Text(text = state.value) }

На экране дочерний Text покажет "12345", читая только value.

Смотрите также

  • класс MutableState,
    который добавляет запись в value
  • функция mutableStateOf,
    которая создаёт MutableState
  • функция collectAsState,
    которая возвращает State из Flow
  • функция derivedStateOf,
    которая строит производный State
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить