在我的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;
}