我该如何解决“ [ts]属性'getAttribute'在'EventTarget'类型上不存在”

时间:2019-06-30 18:01:39

标签: reactjs typescript events

我正在尝试创建一个onClick事件类型,以在使用TypeScript时捕获React中的目标属性。但我收到错误消息“ [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 :(得分:0)

这对我有用

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

我刚刚添加了HTMLInputElement作为event.target类型