I have this Composable function that holds multiple states:
@Composable
fun MyComponent() {
var stringState by remember { mutableStateOf("foo") }
var booleanState by remember { mutableStateOf(false) }
var integerState by remember { mutableStateOf(0) }
}
I now want to modify these states from a non-composable function that requests an API every second or so and then update the state in my application depending on the response.
Note that this isn't the actual component but I need an answer applicable to not just one type.
I have read the docs and read the top SO answers but none of them really matched what I was looking for.
Can your function return a Flow
of API responses? Then you can use collectAsState()
:
@Composable
fun MyComponent(apiResponses: Flow<Response>) {
val state by apiResponses.collectAsState(initial = ...)
}