Vuex: Государственное управление. Какой лучший способ получить данные из состояния или с сервера? - PullRequest
0 голосов
/ 16 января 2019

Я собираю все свои продукты и помещаю их в состояние. Я не делаю никакой пагинации. Когда пользователь просматривает продукт из списка продуктов. Что я должен делать? Должен ли я использовать какой-то фильтр с помощью этого productID и получить для выбранного продукта другие подробности из состояния или использовать этот productID и получить данные с сервера? Я также хочу знать, изменит ли это ваш ответ: что использовать, если у меня 50 продуктов, и что мне следует использовать, если у меня 100 продуктов. Что будет быстрее и лучше?

1 Ответ

0 голосов
/ 16 января 2019

Этот вопрос кажется основанным на мнениях и, вероятно, будет закрыт. Нет однозначного ответа, но вот некоторые выводы:

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

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

Если ваш список большой, «классический» способ (но не единственный) состоит в том, чтобы создать список, разбитый на страницы, и список содержит только основные сведения о ваших продуктах, а не все элементы целиком. Когда вы посещаете продукт, он извлекается из вашего API.

...