Вот два подхода, которые я рассматриваю:
Подход 1: Сбор в родителе (ComposableA) и передача состояния вниз
kotlin
Код: Выделить всё
class MyViewModel : ViewModel() {
private val _userState = MutableStateFlow("")
val userState = _userState.asStateFlow()
}
@Composable
fun ComposableA(viewModel: MyViewModel) {
val userState by viewModel.userState.collectAsStateWithLifecycle()
Column {
ComposableB()
ComposableC(userData = userState)
}
}
@Composable
fun ComposableC(userData: String) {
Text(text = userData)
kotlin
Код: Выделить всё
@Composable
fun ComposableA(viewModel: MyViewModel) {
Column {
ComposableB()
ComposableC(viewModel = viewModel)
}
}
@Composable
fun ComposableC(viewModel: MyViewModel) {
val userState by viewModel.userState.collectAsStateWithLifecycle()
Text(text = userState)
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... n-parent-o