If you add to mutableStateListOf, delete from it or update an item with new instance recomposition will be triggered and inside a for loop you can create Text for each data contained in SnapshotStateList.
@Composable
private fun AddComposablesInLoopSample() {
val myList: SnapshotStateList<String> = remember {
mutableStateListOf()
}
Column {
Button(onClick = {
myList.addAll(getData())
}) {
Text("Get Data")
}
myList.forEach {
Text(it)
}
}
}
private fun getData(): List<String> {
val myList = mutableListOf<String>()
repeat(20) {
myList.add("Row $it")
}
return myList.toList()
}
getData function is for demonstration to fill list.
Result

Buttonwhen you click it once?