'How can i store mutablestates from viewmodel even navigate in my app?
i have a list from firebase database, i'm getting my values in viewmodel as mutableState and show in compose components. But if i navigate in my app, my list is gone because of (i think) my viewmodel instance recreated again and erase the list. I dont want to firabase call again. How can i solve that.
ViewModel:
var acceptedFriendRequestList = mutableStateOf<List<FriendListRow>>(listOf())
private set
fun loadAcceptedFriendRequestListFromFirebase(){
viewModelScope.launch {
useCases.loadAcceptedFriendRequestListFromFirebase.invoke().collect { response ->
when(response){
is Response.Loading -> {
}
is Response.Success -> {
if(response.data.size != 0){
acceptedFriendRequestList.value = response.data
}
delay(1000)
isRefreshing.value = false
}
is Response.Error -> {}
}
}
}
}
View:
@Composable
fun UserListScreen(){
val acceptedFriendRequestList = userListViewModel.acceptedFriendRequestList
}
i am using this variable in lazyColumn. How can i prevent acceptedFriendRequestList value when i'am navigate and coming back in app.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
