Javascript IFormContext仅引用类型,但在此处用作值

Javascript IFormContext仅引用类型,但在此处用作值,javascript,reactjs,typescript,ionic-react,Javascript,Reactjs,Typescript,Ionic React,我试图建立一个离子反应形式的验证。在此之前,我需要获取输入的状态值。 我有一个描述字段的字段组件、一个表单结构组件和一个需要上述两个组件的表单页面。 以下是我的表单字段代码: import React,{FormEvent}来自“React”; 从“/ResetPassword”导入{IErrors}; 从“@IONAL/react”导入{INOPUT}; 键入Editor=“textbox”; 导出接口IFieldProps{ id:字符串; 名称:字符串; 标签?:字符串; 编辑?:编辑;

我试图建立一个离子反应形式的验证。在此之前,我需要获取输入的状态值。 我有一个描述字段的字段组件、一个表单结构组件和一个需要上述两个组件的表单页面。 以下是我的表单字段代码:

import React,{FormEvent}来自“React”;
从“/ResetPassword”导入{IErrors};
从“@IONAL/react”导入{INOPUT};
键入Editor=“textbox”;
导出接口IFieldProps{
id:字符串;
名称:字符串;
标签?:字符串;
编辑?:编辑;
洋葱变化?:任何;
价值?:任何;
ionChangeValue?:字符串;
}
导出常量重置字段:React.FunctionComponent=({
身份证件
名称
标签
编辑
价值
洋葱变
})=>{
返回(
{label&&{label}
{editor!.toLocaleLowerCase()==“textbox”&&(
(e:FormEvent)=>
控制台日志(e)
}
className=“表单控件”
/>
)}
)
};
ResetField.defaultProps={
编辑:“文本框”

};您的错误是由于一些括号放错了位置。与类型、接口和类无关,这很好

export const FormContext = (React.createContext < IFormContext) | (undefined > undefined); 
export const FormContext=(React.createContext未定义);
需要固定到

export const FormContext = React.createContext<IFormContext | undefined>(undefined); 
export const FormContext=React.createContext(未定义);

在TypeScript中,接口没有
I
-前缀-这是因为TypeScript中的接口是结构化的,而不是主格的(有点像Swift协议),因此匈牙利符号前缀实际上是一个主要障碍,没有任何好处。