如何解决属性“ target”在类型“ HTMLInputElement”上不存在 TypeScript React TS2339
只要更改输入元素,就会调用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
上输入的类型错误。这不是HTMLInputElement
,而是事件。进行更改的是React.ChangeEvent<T>
,其中T
是您在其上使用它的元素的类型(在您的情况下为HTMLInputElement
),因此:
handleChange = (event: React.ChangeEvent<HTMLInputElement>) {
// ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。