Marko Novakovic
05/07/2022, 4:52 PMclass UsersViewModel(
private val savedStateHandle: SavedStateHandle,
private val getUsers: () -> List<User>,
) : ViewModel() {
data class State(
val query: String,
val users: List<User>,
)
private var currentQuery by savedStateHandle.saveable(CurrentQuery) { mutableStateOf("") }
private val results by derivedStateOf {
getUsers().filter { currentQuery in it }
}
val state by derivedStateOf {
State(currentQuery, results)
}
fun queryUsers(query: String) {
savedStateHandle[CurrentQuery] = query
}
}
this doesn’t cause recomposition, why is that?
because not all `derivedStateOf`s are read from @Composable
function?