Я сейчас создаю кнопку «Мне нравится» на компоненте моей карты в vue.Я извлекаю данные из firebase, используя промежуточное программное обеспечение на странице для отправки действия vuex
, которое пойдет и получит информацию о моем пользователе, в которой liked_posts
хранится в массиве.
Возникает проблема, что, когда я загружаю страницу, требующую некоторых данных, например likes_posts, и мое состояние пустое, выдается ошибка "undefined
" .
Как я могу убедиться, что даже если пользователь не выполнил вход или никогда не посещал, что мои данные пользователя не вызовут ошибку
Я попытался изменить свое действие вVuex
хранилище должно быть асинхронным и использовать await, чтобы я удостоверился, что данные были там, но это не помогло.
То, что происходит, - приведенный ниже код в вычисляемых свойствах пытается получить доступ к объекту, который не 'в массиве еще не существует.
likedOrNot() {
const likeInfo = this.$store.state.userInfoSub[0].liked_posts
return likeInfo.includes(this.$store.state.loadedCards[0].id)
}
Этих данных еще нет, поскольку пользователь не вошел в систему, существует и т. д.как только они это сделают, а промежуточное ПО отправляет действие для извлечения пользовательских данных, userInfoSub будет заполнен информацией.
мое базовое состояние выглядит так, когда пользователь не выполнил вход или промежуточное ПО не запустило поискпользователь, который получает файлы cookie.
Поэтому мне нужно убедиться, что отсутствие userInfoSub не нарушает свойства моего компьютера
loadedCards:Array[1]
0:Object
token:null
user:null
userInfoSub:Array[0]
username:null