【问题标题】:Property 'target' does not exist on type 'HTMLInputElement'. TypeScript React. TS2339类型“HTMLInputElement”上不存在属性“目标”。打字稿反应。 TS2339
【发布时间】:2020-08-13 13:37:19
【问题描述】:

只要输入元素发生更改,就会调用handleChange() 函数,但似乎无法访问event.target.value。

错误信息

Property 'target' does not exist on type 'HTMLInputElement'.  TS2339

handleChange()

handleChange = (event:HTMLInputElement) => {
    console.log(event);
    const { name, value } = event.target;
    this.setState({[name]: value});
};

输入元素

<input name='email' type='email' value={this.state.email} onChange={this.handleChange} required />

【问题讨论】:

  • event: React.ChangeEvent&lt;HTMLInputElement&gt;

标签: reactjs typescript react-tsx


【解决方案1】:

event 的类型有误。这不是HTMLInputElement,而是事件。要更改它是React.ChangeEvent&lt;T&gt;,其中T 是您使用它的元素类型(在您的情况下为HTMLInputElement),所以:

handleChange = (event: React.ChangeEvent<HTMLInputElement>) {
    // ...

【讨论】:

    猜你喜欢
    • 2020-12-18
    • 2020-11-10
    • 2022-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 2016-12-12
    • 2019-08-16
    相关资源
    最近更新 更多