В проекте есть вызов 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