Marko Novakovic
SavedStateHandle
Flow
class MyViewModel<State>( private val savedStateHandle: SavedStateHandle, initialState: State, ) : ViewModel() { private var _state by mutableStateOf(initialState) val state: State get() = _state init { viewModelScope.launch { savedStateHandle.getFlow(STATE, initialState) .collect { _state = it } } } fun updateState(reducer: State.() -> State) = savedStateHandle.set(STATE, state.reducer()) companion object { private const val STATE = "state" } }
get
set
savedStateHandle
savedStateHandle.getFlow
savedStateHandle.getLiveData().asFlow
vallebear
A modern programming language that makes developers happier.