Typescript 在Formik v2中导入Formik类型时出错

Typescript 在Formik v2中导入Formik类型时出错,typescript,formik,Typescript,Formik,当我将Formik从v1更新到v2时,我在导入Formik时遇到了一个类型脚本问题 对于v1,我使用以下代码: 从'Formik'导入{Formik,FormikProps}; [...] 导出类窗体扩展组件{ 私有形式:Formik | null=null; 公共组件更新(prevProps:IProps):无效{ const{props,form}=这个; if(props.hasToReset&form){ form.handleReset(); 道具。toggleFormReset(假

当我将Formik从v1更新到v2时,我在导入Formik时遇到了一个类型脚本问题

对于v1,我使用以下代码:

从'Formik'导入{Formik,FormikProps};
[...] 
导出类窗体扩展组件{
私有形式:Formik | null=null;
公共组件更新(prevProps:IProps):无效{
const{props,form}=这个;
if(props.hasToReset&form){
form.handleReset();
道具。toggleFormReset(假);
}
if(form&&props.formErrors&&prevProps.formErrors!==props.formErrors){
setErrors(props.formErrors.fields);
}
}
public render():ReactNode{
const{getInitialFormValues,getValidationSchema,onSubmit}=this.props;
返回(
{
this.form=el;
}}
/>
);
}
公共renderForm=(formikProps:formikProps):ReactNode=>{
const{renderMatify,renderSubForm,inlineSubmitButton,renderBottomButtons}=this.props;
返回(
{renderMainForm(formikProps)}
{renderBottomButtons(formikProps)}
{!!renderSubForm&&renderSubForm()}
);
};
}
但是在v2中,我得到了Typescript错误:“找不到模块‘Formik’”,这两个Formik都用作类型(不用于组件)

我检查了源文件“formik/dist/formik.d.ts”

在v1中: 导出声明类Formik

在v2中: 导出声明函数Formik

我不是打字机专家,我怎样才能修复它,使它再次工作


非常感谢你的帮助

Formik是React组件,而不是对象类型。你想用
私有表单做什么:Formik | null=null?您正在声明一个类属性,它是一个React组件?发布完整的组件,该行可能应该删除。实际上
表单
也用作组件,我希望完整组件会更清晰。我很确定我在一篇关于Formik和Typescript的媒体文章中看到过这种做法(可能是一年前),但我再也找不到了:(当时我很清楚……Formik是一个React组件,而不是对象类型。您想用
私有表单:Formik | null=null;
?您正在声明一个类属性,它是一个React组件?发布完整组件后,该行可能应该被删除。实际上
表单
也被用作组件,我希望完整的组件会更清晰。我很确定我在一篇关于Formik和Typescript的媒体文章中看到过这种方式(可能是一年前),但我再也找不到了:(当时我很清楚。。。