Я немного работаю с представлениями, и я создал эти следующие классы Seales.sealed class ScreenUIState {
data object Loading : ScreenUIState()
data class Success(val data: T) : ScreenUIState()
data class Error(val message: Int) : ScreenUIState()
}
< /code>
и второй, чтобы «удерживать» состояние операции: < /p>
sealed class OperationState {
object Idle : OperationState()
object Loading : OperationState()
data class Success(val data: T) : OperationState()
data class Error(val message: Int) : OperationState()
}
< /code>
Мой вопрос здесь в том, если это хорошая практика, вы знаете, используйте это как для обработки каждого экрана или операции: < /p>
viewModel.createInvitationOperationState.collect { state ->
when (state) {
is OperationState.Success -> {
// Handle the data or the state, like navigates to another screen
}
is OperationState.Loading -> {
// Set the loading as visible
}
is OperationState.Error -> {
// Show a snackbar message
}
else -> {
// No action //
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... tion-state