james
02/02/2022, 9:02 PMnavigateUp().. at this point the LaunchedEffect block is triggered again. am I misunderstanding it?
code in thread ➡️james
02/02/2022, 9:03 PM@Composable
fun MyScreen(dataId: String, viewModel: MyViewModel = hiltViewModel()) {
...
LaunchedEffect(key1 = dataId) {
viewModel.load(dataId)
}
...
}james
02/02/2022, 9:04 PMnavigateUp() 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 PMIan 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
}
}james
02/02/2022, 9:43 PMuserTriggeredUpdate() method to update the data inside savedStateHandle?Ian Lake
02/02/2022, 9:53 PMIan Lake
02/02/2022, 9:55 PMjames
02/02/2022, 10:01 PMjames
02/02/2022, 10:07 PM