Привет. Такой вопрос. Опять по работе со стейтом). Пусть есть список

на 10к элементов и какая то компоуз функция, которая рендерит список.
Компоуз работает так, что он не рендерит сразу весь список, а только видимые элементы.

Мне надо дозагружать дополнительно инфу для каждого видимого элемента списка.
Условно, элемент списка:

data class Movie(
id,
title,
purchaseId // ссылка на объект с описанием способа оплаты)

Я отображаю title и для видимого элемента списка мне надо взять из локальной бд или кеша по purchaseId объект Purchase и обновить элемент со значением типа оплаты.

Сразу грузить для всех объектов movies объекты purchase не охото, так как это не рационально и пользователь может проскроллить всего 10, зачем мне грузить все 500 например. Потому хочу попробовать дозагружать данные по ходу отображения элемента списка.
Что то типа onBindViewHolder в recyclerview.

Кто нить сталкивался?

3 ответов

15 просмотров

Привет. > Компоуз работает так, что он не рендерит сразу весь список, а только видимые элементы. Это особенность LazyList, не компоуз > Что то типа onBindViewHolder в recyclerview. Можно попробовать DisposableEffect в композбл отдельного айтема с movie в качестве ключа

кажется обсуждали подобное https://t.me/android_declarative/41343 там ниже прилагал скрин с наброском кода примерного решения

Israpil Akhmedov
Привет. > Компоуз работает так, что он не рендери...

@stdpmk по указанному выше обсуждению, как раз к решению с DisposableEffect и пришли

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Карта сайта