#reactjs #typescript
Вопрос:
Может ли кто-нибудь сообщить мне, почему приведенный ниже код все еще выдает Object is possibly 'null'
ошибку, даже если я уже проверил, является ли событие нулевым или нет?
const handleImageChange = (event: Event) =gt; { if (event) { event.preventDefault(); const selectedFile = event.currentTarget.files[0]; // ERROR:Object is possibly 'null'! if (selectedFile) { setFieldValue("photo", selectedFile); } } };
Комментарии:
1. вы уверены, что это не говорит о том, что объект event.currentTarget может быть нулевым?
2. @about14sheep Ты прав. Я должен проверить
event.currentTarget
. Я не проверял это, потому что в сообщении об ошибке, которое я вижу, есть стрелка, указывающаяevent
непосредственно на это. Теперь после проверкиevent.currentTarget
на нуль ошибка исчезла. Спасибо!3. @about14sheep пожалуйста, дайте ответ
Ответ №1:
Вы должны ввести проверку на нуль, прежде чем выбирать файл с индексом «0».
const handleImageChange = (event: Event) =gt; { ... const { currentTarget } = event; if (currentTarget.files.length === 0) return const selectedFile = event.currentTarget?.files[0]; ... } };