Дочерний композитный перекомплектован, даже если они не потребляют ценностьAndroid

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

Сообщение Anonymous »

В проекте есть вызов API и излучение данных от ViewModel с использованием потока. В ViewModel есть два потока, считая их UISTATE и вторым. И Uistate, и Secondstate - это Stateflow, которая используется в ViewModel. < /P>
Так проблема заключается в том, что при изменении uistate kidcoposable, даже если они не потребляют поток uistate. < /P>
Здесь я дал фонд, как композиционный функциональный поток, который я дал Mimic кода.@Composable

fun MainComposableScreen() {

val firstValue = vm.uiState.collectAsStateWithLifecycle() // consume ui state

val secondVal = vm.secondState.collectAsStateWithLifecycle() // consume secondState

ParentComposable(firstValue, secondVal, onClick)

}
< /code>
@Composable

ParentComposable(firstVal: State, secondUI: State, onClick: () -> Unit) {

Column {

ComposableFunOne(firstVal)

AnotherComosable(firstVal.value.accountList)

CreditComposable(firstVal.value.creditCardList)

ComposableFunTwo(secondUI) // Recompose even if not consume firstVal(uiState)

ComposableFunThree() // Recompose even if not consume firstVal(uiState)

...

}

}
< /code>
In above when uiState is changed then ComposableFunTwo, ComposableFunThree functions inside ParentComposable recompose even if they don’t consume uiState

Подробнее здесь: https://stackoverflow.com/questions/797 ... sume-value

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