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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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