类型脚本输入onchange事件.target.value

在我的react和typescript应用程序中,我使用:onChange={(e)=>data.mondit=(e.target作为任意).value}

如何正确定义类的类型,这样就不必使用any来破解类型系统

导出接口InputProps扩展React.HTMLProps<输入>{
...
}
导出类输入扩展React.Component<InputProps,{}>{
}

如果我把target:{value:string}我得到:

[default]/react-onsenui.d.ts:87:18中的错误
接口“InputProps”错误地扩展了接口“HTMLProps<输入>'。
属性“target”的类型不兼容。
类型“{value:string;}”不可分配给类型“string”。

一般情况下,事件处理程序应使用e.currentTarget.value,例如:

onChange=(e:React.FormEvent<HTMLInputElement>)=>{
const newValue=e.currentTarget.value;
}

您可以在此处阅读原因(回复“使SyntheticEvent.target通用,而不是SyntheticEvent.currentTarget”)

UPD:如@roger gusmaoChangeEvent所述,更适合于键入表单事件

onChange=(e:React.ChangeEvent<HTMLInputElement>)=>{
const newValue=e.target.value;
}

发表评论