Привет, вопрос по Compose UI.
Есть такой код:
var listOfData = mutableListOf<String>()
for(i in 0..10_000) {
listOfData.add("Item $i")
}
var selectedIndexState = remember { mutableStateOf(-1) }
LazyColumn(
content = {
for(i in listOfData.indices) {
val el = listOfData[i]
val isSelected = selectedIndexState.value == i
item {
RowItem(
isSelected = isSelected,
data = el,
onSelected = {
selectedIndexState.value = i
}
)
}
}
}
)
Отображаем список на 10к элементов.
Если кликаем на итем - меняется бэкграунд.
Если кликаем на итем, то делается рекомпозиция первых 15 элементов, однако отрабатывает весь цикл на 10к, судя по отдладчику.
Вопрос - так и должно быть? А если список потенциально большой