@DobrykovM

Как решить данную ошибку типизации и почему она возникает?

Использую nuxt 3
У меня есть страница где создается следующая ошибка в случае если по определенному url нет данных
if (!restaurant) {
  throw createError({ statusCode: 404, statusMessage: 'Page Not Found', data: {redirectTitle: 'Go restaurants', redirectLink: '/restaurants'} })
}


в главном файле ошибок error.vue вот так (описание ошибки на скриншоте)
6416daec30d68438150414.png

Поидее поле data есть в указанном типе, но не могу понять на что ругается IDE
Здесь описаны какие типы могут быть
https://nuxt.com/docs/getting-started/error-handli...

Если заменить вот так
const error = useError() as any
то ошибки не будет, но не очень понимаю что нужно импортировать вместо any или возможно как-то по другому это можно решить
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
if (error.value && 'data' in error.value) {
  // ...
}

https://www.typescriptlang.org/docs/handbook/2/nar...

Если кратко, то у error.value тип - юнион, а у юниона можно использовать только свойства, общие для всех вариантов, либо уточнять тип через type guards.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы