【问题标题】:How do I fix "[ts] Property 'getAttribute' does not exist on type 'EventTarget'"如何修复“[ts] 属性 'getAttribute' 在类型 'EventTarget' 上不存在”
【发布时间】:2019-11-11 14:17:23
【问题描述】:

我正在尝试创建一个 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] 类型“EventTarget”上不存在属性“getAttribute”。 任何

【问题讨论】:

    标签: reactjs typescript events


    【解决方案1】:

    这对我有用

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

    我刚刚将HTMLInputElement 添加为 event.target 类型

    【讨论】:

    猜你喜欢
    • 2021-07-02
    • 2020-07-16
    • 1970-01-01
    • 2019-01-28
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多