Javascript 行动前及;Formik:无法触发自定义字段组件更改的验证

Javascript 行动前及;Formik:无法触发自定义字段组件更改的验证,javascript,reactjs,formik,preact,Javascript,Reactjs,Formik,Preact,我有一个自定义的输入组件: function Input({ field }) { return <input {...field} />; } <Formik validate={validateField} ... 函数输入({field}){ 返回; } 在Formik的组件中使用的: function Input({ field }) { return <input {...field} />; } <Formik

我有一个自定义的
输入
组件:

function Input({ field }) {
  return <input {...field} />;
}
<Formik
     validate={validateField}
     ...
函数输入({field}){
返回;
}
在Formik的
组件中使用的:

function Input({ field }) {
  return <input {...field} />;
}
<Formik
     validate={validateField}
     ...

以及
组件上的验证功能:

function Input({ field }) {
  return <input {...field} />;
}
<Formik
     validate={validateField}
     ...

好的,我通过将Formik的
onChange
处理程序绑定到自定义输入组件的
onInput
事件来修复它

function FieldInput({ field: { onChange, ...props } }) {
  return <input onInput={onChange} {...props} />;
}
函数字段输入({field:{onChange,…props}}){
返回;
}

这是因为我怀疑将
onChange
视为
onInput
,而Preact/Preact compat不知何故不能很好地处理这个问题?

很有趣!Preact不像React那样在本机DOM事件上实现自定义包装器,因此您可能应该将其作为一个bug提交给Preact团队。@zackkrida这不是一个bug,而是一个设计决策,如文档中所述:可以使用Preact/compat修补此onInput/onChange React异常。