Nat Strangerweather
12/13/2021, 10:29 PM@Composable
fun CallApi() {
LaunchedEffect(key1 = {}, block = {
val retrofitData = retrofitBuilder.getBooks("flower")
})
LazyColumn(content = {
item {
for (item in retrofitData.items) {
Text(text = item.volumeInfo.title)
}
}
})
}
The problem is getting retrofitData
Zach Klippenstein (he/him) [MOD]
12/13/2021, 10:51 PMMutableState
, something like this:
var retrofitData by remember { mutableStateOf(emptyList()) }
LaunchedEffect(retrofit) {
retrofitData = retrofit.getBooks("flower")
}
LazyColumn(…
Make sure to pass any dependencies used in your lambda as keys, in this case the retrofit object. This pattern is common enough that there’s a helper for it:
val retrofitData by produceState(initialValue = emptyList(), key1 = retrofit) {
retrofit.getBooks("flower")
}
Nat Strangerweather
12/13/2021, 10:57 PMAdam Powell
12/14/2021, 2:39 AMvalue =
in there but otherwise yes 🙂Zach Klippenstein (he/him) [MOD]
12/14/2021, 2:54 AMColton Idle
12/14/2021, 5:32 PMNat Strangerweather
12/14/2021, 8:30 PMColton Idle
12/14/2021, 8:37 PMNat Strangerweather
12/14/2021, 8:42 PM