Reactjs Typescript错误:TS2604-如何修复?

Reactjs Typescript错误:TS2604-如何修复?,reactjs,typescript,redux-form,Reactjs,Typescript,Redux Form,我试图在一个基于Typescript的项目中使用一个名为redux表单的库。当我使用他们的“简单形式”示例代码并实现它时,我得到一个错误: error TS2604: JSX element type 'SimpleForm' does not have any construct or call signatures. 我做错了什么?我安装了此库的定义文件,因此要么是编码错误,要么是定义文件不正确 在我的表单组件中(将代码剥离,使其尽可能精简): import*as React from'R

我试图在一个基于Typescript的项目中使用一个名为redux表单的库。当我使用他们的“简单形式”示例代码并实现它时,我得到一个错误:

error TS2604: JSX element type 'SimpleForm' does not have any construct or call signatures.
我做错了什么?我安装了此库的定义文件,因此要么是编码错误,要么是定义文件不正确

在我的表单组件中(将代码剥离,使其尽可能精简):

import*as React from'React';
从'redux form'导入{reduxForm};
导出常量字段=['firstName'];
类SimpleForm扩展了React.Component{
静态类型={
字段:React.PropTypes.object.isRequired,
};
render(){
常数{
字段:{firstName}
}=这是道具;
返回(
名字
提交
);
}
}
导出默认reduxForm({
表格:'简单',
领域
})(SimpleForm);
我在这里使用它(导致上述错误):

import*as React from'React';
从“react dom”导入*作为react dom;
从“../components/GuestForm”导入*作为SimpleForm;
导出默认类Main扩展React.Component{
render(){
返回(
);
}
}

我认为您的问题在于如何导入默认导出类:

export default reduxForm(...
如果您已按上述方式声明,则应按如下方式导入:

import SimpleForm from '../components/GuestForm'
import {SimpleForm} from '../components/GuestForm' 
否则,您可以删除“default”并按如下方式导入:

import SimpleForm from '../components/GuestForm'
import {SimpleForm} from '../components/GuestForm' 

希望这能有所帮助。

我不能(从中间)对上述答案发表评论,因为我在StackOverflow方面没有足够的声誉,但他的答案是正确的

我也有同样的问题: *(82,14):错误TS2604:JSX元素类型“SlideForm”没有任何构造或调用签名。*

这是我以前的代码:

export default class SliderForm extends React.Component<any, any> {...};
这让我想到了和你一样的问题


因此,我将导入的方式更改为:

import SlideForm from '../../common/SliderForm';

它解决了我的问题。

我感谢您的帮助,但这并不能解决问题。使用您建议的第一次导入,我得到
错误TS1192:模块“redux-form”没有默认导出
,并且在导入我的原始方式时删除
默认
会给出:
错误TS1128:预期声明或语句。
很抱歉-在阅读说明时出错。我已经更新了答案-我的意思是导入SimpleForm而不是reduxForm。对不起。你能看看它是否有用吗?
import SlideForm from '../../common/SliderForm';