Yamvil
  • 🚀What is Yamvil
  • ⚔️MVVM vs MVI
  • 👩‍💻Installation
  • 📖Lexicon
  • 🧰Usage
    • ㊗️UiAction
    • 📱UiState
    • 🎭UiEvent
    • 🧠ViewModel
    • 🧩Fragment
    • 🖼️Composable
Powered by GitBook
On this page
  1. Usage

ViewModel

ViewModels should inherit from MVIViewModel:

class DashboardViewModel: MVIViewModel<DashboardUiState, DashboardUiEvent>() {

    override fun initializeUiState(): DashboardUiState {
        return DashboardUiState(state = DashboardUiState.ContentState.Loading)
    }
    override fun handleEvent(event: DashboardUiEvent) {
        when (event) {
            is DashboardUiEvent.ClickOnNext -> onClickOnNext()
        }
    }

    private fun onClickOnNext() {
        update { copy(action = Consumable(DashboardUiAction.NavigateToNext)) }
    }
}
PreviousUiEventNextFragment

Last updated 12 months ago

🧰
🧠