Этот вопрос кажется основанным на мнениях и, вероятно, будет закрыт. Нет однозначного ответа, но вот некоторые выводы:
- 50 и 100 - это одно и то же, вопрос больше между 50 и 5000. Если ваш список очень большой (тысячи элементов), вы не должны хранить его в своем состоянии из-за проблем с производительностью.
- Если вся необходимая информация уже находится в вашем состоянии, выборка из этого состояния выполняется быстрее, чем вызов вашего API.
- Имейте в виду, что при извлечении из состояния будет отображаться информация о продуктах, которая может быть устаревшей, а при извлечении из вашего API вы получите более свежую информацию (например, при отображении запаса товара)
Если ваш список не слишком большой (максимум несколько сотен элементов, в зависимости от их размера), вы можете в основном делать то, что хотите, в зависимости от того, что вам нужно сделать. Каждое решение имеет свои плюсы и минусы, например, сохранение всего в состоянии при загрузке приложения может позволить вам работать в «автономном» режиме, но выбор каждого элемента при его посещении даст вам более свежую информацию.
Если ваш список большой, «классический» способ (но не единственный) состоит в том, чтобы создать список, разбитый на страницы, и список содержит только основные сведения о ваших продуктах, а не все элементы целиком. Когда вы посещаете продукт, он извлекается из вашего API.