I want to trigger a callback once a derivedStateOf
changes. My code currently looks like this:
var previouslySelectedIndex by rememberSaveable { mutableStateOf<Int?>(null) }
val nowSelectedIndex by remember {
derivedStateOf {
// some logic here
}
}
nowSelectedIndex?.let { nowSelected ->
if(previouslySelectedIndex == null || previouslySelectedIndex != nowSelected) {
previouslySelectedIndex = nowSelected
onSelectedItemChanged(nowSelected)
}
}
That feels very verbose to me, especially considering that we know the derivedStateOf
only triggers when it’s changed. Is there really nothing like the following?
nowSelectedIndex.onChange { onSelectedItemChanged(nowSelected) }