james
02/02/2022, 9:02 PMnavigateUp()
.. at this point the LaunchedEffect block is triggered again. am I misunderstanding it?
code in thread ➡️@Composable
fun MyScreen(dataId: String, viewModel: MyViewModel = hiltViewModel()) {
...
LaunchedEffect(key1 = dataId) {
viewModel.load(dataId)
}
...
}
navigateUp()
that nothing has changed (and I've confirmed that dataId
has not changed) and so my viewModel.load()
wouldn't be called again?Ian Lake
02/02/2022, 9:37 PMjames
02/02/2022, 9:43 PMclass MyViewModel(savedStateHandle: SavedStateHandle) {
var dataId: String = ""
init {
dataId = savedStateHandle.get("dataId")
// call load/refresh func
}
fun userTriggeredUpdate(newId: String) {
dataId = newId
savedStateHandle.set("dataId", dataId)
// call load/refresh func
}
}
userTriggeredUpdate()
method to update the data inside savedStateHandle
?Ian Lake
02/02/2022, 9:53 PMjames
02/02/2022, 10:01 PM