DerivedStateOf против запоминания с ключом и MutableState ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
DerivedStateOf против запоминания с ключом и MutableState

Сообщение Anonymous »

Есть ли разница между следующими двумя функциями:
Первая функция с производнымStateOf:

Код: Выделить всё

@Composable
private fun CounterWithDerivedState() {
val counterState = remember { mutableStateOf(0) }

val showFinallyState = remember {
derivedStateOf { counterState.value > 10 }
}

Button(
onClick = { counterState.value = counterState.value + 1 }
) {
Text(counterState.value.toString())
}

if (showFinallyState.value) Text("Finally!")
}
Вторая функция с запоминанием, ключом и MutableState:

Код: Выделить всё

@Composable
private fun CounterWithRemberMutablState() {
val counterState = remember { mutableStateOf(0) }

val showFinallyState by remember(counterState) {
mutableStateOf(counterState.value > 10)
}

Button(
onClick = { counterState.value = counterState.value + 1 }
) {
Text(counterState.value.toString())
}

if (showFinallyState) Text("Finally!")
}
Я ожидал бы такого же поведения с точки зрения рекомпозиции.

Подробнее здесь: https://stackoverflow.com/questions/783 ... tablestate

Вернуться в «Android»