@Sashjkeee
f-e

Почему getter выдаёт undefined?

Когда запускаю проект вылезает ошибка в функции

return this.getTransportFields.reduce((data, f) => ({ ...data, [f.name]: f.value }), {})

Вылетает она потому, что

console.log(this.getTransportFields) // undefined

getTransportFields() {
    return this.$store.getters['getTransportFields']
},

Вот сам геттер:

getTransportFields(state) {
    return state.FIELDS.formFieldsMap
  },

В state.FIELDS.formFieldsMap данные лежат.
  • Вопрос задан
  • 383 просмотра
Решения вопроса 1
0xD34F
@0xD34F
В state.FIELDS.formFieldsMap данные лежат

А точно лежат? - может, не лежат, а подгружаются посредством запроса к базе данных или ещё куда. А пока не подгрузились, FIELDS является пустым объектом, никакого свойства formFieldsMap у него нет. Соответственно, геттер возвращает undefined. Может же такое быть?

UPD. Вынесено из комментариев:

Действительно, а как тогда быть?

Можно заглушку какую-нибудь возвращать, если ничего нет, например:

getters: {
  transportFields: state => state.FIELDS.formFieldsMap || [],
  ...

А лучше - заранее создать в FIELDS нужное свойство, с пустым массивом в качестве начального значения.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Koteezy
Попробуйте название геттера без get?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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