Объект, возможно, «нулевой» после проверки на нуль

#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];  ...  }  };