Обеспечить/ввести или Vuex?

#vue.js #vuex

Вопрос:

У меня есть список машин. Каждый пункт этого списка содержит всю информацию о некоторых автомобилях. Кроме того, каждый элемент является родительским компонентом для многих других компонентов — изображения, цены, характеристик и т.д. — Вся эта информация содержится в отдельных компонентах. Информация обо всех этих автомобилях хранится в Vuex. Теперь я думаю о лучшем способе передачи этой информации каждому из элементов списка.

  1. Передайте все необходимые данные о другом автомобиле родительскому компоненту. А затем предоставьте его дочерним компонентам.
  2. Каждый ребенок может получить необходимую информацию непосредственно от Vuex.

Комментарии:

1. Весь смысл Vuex в том, чтобы обеспечить глобально доступное состояние. Если вы уже используете Vuex, то нет смысла пытаться передавать данные между компонентами другим способом.

2. Предоставлять/вводить необходимо только вместе с Vuex, если у вас есть данные, относящиеся к компонентам, которые необходимо предоставить вложенным компонентам.

3. @совпадение, да! Но дело в том, что каждый дочерний компонент элемента списка должен знать идентификатор автомобиля, чтобы отображать правильную информацию. Поэтому я все равно должен предоставить удостоверение личности родителя всем его детям, чтобы они могли получить информацию от Vuex по этому удостоверению личности.

4. Да — я бы передал идентификатор, который должен отображаться в каждом дочернем элементе в качестве опоры, а затем позволил бы ребенку искать сами данные, а не передавать весь объект данных в качестве опоры.

5. В большинстве случаев это решается с помощью реквизитов, где вы можете предоставить подмножество данных. Предоставление/внедрение или Vuex необходимо для глубоко вложенных данных, чтобы избежать переноса реквизитов на многих уровнях. Если вы можете предоставить идентификатор компоненту, вы, скорее всего, сможете предоставить остальные данные. Кроме того, доступ к данным в Vuex не означает, что вам нужно предоставить все данные. Это может быть необходимое подмножество с помощью геттера.