Как мне исправить "[ts] Свойство 'getAttribute' не существует для типа 'EventTarget'" - PullRequest
1 голос
/ 30 июня 2019

Я пытаюсь создать тип события onClick для захвата целевого атрибута в React при использовании TypeScript. Но я получаю сообщение об ошибке «Свойство [ts] getAttribute не существует для типа« EventTarget ».» Может ли кто-нибудь помочь разобраться в передовой практике, как это исправить?

Я попытался использовать другую вспомогательную функцию для части event.target. Таким образом, я могу набрать эту часть, и часть getAttribute в этой функции. Однако мне сказали, что это не лучшая практика и неправильный подход.

const Option = (props: OptionProps) => {

  const HandleOptionChange = (event: React.MouseEvent<HTMLLIElement>) => {
    return props.onOptionChange(event.target.getAttribute('value'));
  }

  return (
    <li
      key={props.key}
      value={JSON.stringify(props.word)}
      onClick={HandleOptionChange}
    >
      {props.word.value}
    </li>
  )
}

TS сообщение об ошибке:

[ts] Свойство 'getAttribute' не существует для типа 'EventTarget'. любой

1 Ответ

0 голосов
/ 30 июня 2019

это работает для меня

const HandleOptionChange = (event: React.MouseEvent<HTMLLIElement>) => {
    const el = event.target as HTMLInputElement
    return props.onOptionChange(el.getAttribute('value'));
  }

Я только что добавил HTMLInputElement как тип события event.target

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...