JetPack Compose: предотвратить переоборудование родителей при переключении видимости композиционного братаAndroid

Форум для тех, кто программирует под Android
Anonymous
JetPack Compose: предотвратить переоборудование родителей при переключении видимости композиционного брата

Сообщение Anonymous »

Я вижу ненужные переоборудования в общей схеме пользовательского интерфейса и хочу структурировать состояние так, чтобы только минимальная часть дерева перекладывалась.

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

@Composable
fun MainScreen() {
var toggle = remember { mutableStateOf(false) }

Column {
ComposableOne {
toggle.value = !toggle.value
}
}

if (toggle.value) {
ShowOtherComposable()
}
}

@Composable
fun ShowOtherComposable() {
Column {
Text("Other Composable")
}
}

@Composable
fun ComposableOne(onClick: () -> Unit) {
Column {
Text("Main Composable")
Button(onClick = onClick) {
Text("Click")
}
}
}

Что происходит:
Когда я нажимаю на кнопку, переворачивается по поводу Value (Show/hide) и основной экран, что, в свою очередь, вызывает ComposableOne (и, в моем настоящем проекте, многие другие братья), что также нужно, чтобы отменить то, что я хочу, что я же хочу, что я хочу:

, что я хочу, чтобы я же хотел:

, что я хочу:

, что я хочу:

, что я хочу:


Подробнее здесь: https://stackoverflow.com/questions/797 ... -of-a-sibl

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