@kot98

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

...
@click="handleUpdate(data?.id, data?.status)"
...


const handleUpdate = async (id: number, status: statusType) => {
  await setStatus({ id, status })
}


Получаю:
Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
Не думаю, что типизировать id как number | undefined - это решение. Как это исправить?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
М.б. так
@click="data && handleUpdate(data.id, data.status)"
, но вообще лучше заранее убедиться, что data есть, а не злоупотреблять ?..

Ну и конечно, если handleUpdate'у на самом деле пофиг на значения, то можно и так:
const handleUpdate = async (id?: number, status?: statusType)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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