属性 'target' 在类型 'HTMLInputElement' 上不存在。打字反应。 TS2339
Property 'target' does not exist on type '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>) {
// ...
每当输入元素改变时都会调用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>) {
// ...