Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 错误TS2604:JSX元素类型'';没有任何构造或调用签名_Reactjs_Typescript - Fatal编程技术网

Reactjs 错误TS2604:JSX元素类型'';没有任何构造或调用签名

Reactjs 错误TS2604:JSX元素类型'';没有任何构造或调用签名,reactjs,typescript,Reactjs,Typescript,我正在创建一个包,其中包含我们在我工作的公司上创建的通用组件,我们希望所有项目都可以使用这些组件。我们使用TypeScript,我将代码移动到一个新项目中,我能够发布到npm,并将包添加到我的一个项目的依赖项部分。然而,当我尝试使用它时,我得到一个编译错误 错误TS2604:JSX元素类型“Loader”没有任何构造或调用签名。 我的代码(简化)如下所示: 从“我的常用组件”导入加载程序; 导出类Contact扩展React.Component{ . . . 公共渲染(){ 这,状态,加载),

我正在创建一个包,其中包含我们在我工作的公司上创建的通用组件,我们希望所有项目都可以使用这些组件。我们使用TypeScript,我将代码移动到一个新项目中,我能够发布到npm,并将包添加到我的一个项目的依赖项部分。然而,当我尝试使用它时,我得到一个编译错误

错误TS2604:JSX元素类型“Loader”没有任何构造或调用签名。

我的代码(简化)如下所示:

从“我的常用组件”导入加载程序;
导出类Contact扩展React.Component{
.
.
.
公共渲染(){
这,状态,加载),
你好,世界
}
}

linter表示错误在
部分,但是该组件的代码(
联系人
)没有更改,我只是将
加载程序
从项目移动到一个单独的包中(
我的通用组件
)。

因此,当移动到单独的包时,我将该组件添加到重新导出该组件的索引文件中。但通过这样做,我使它不再是默认输出。事后诸葛亮。因此,修复方法是将组件名称的名称用大括号括起来,以便导入实际命名的组件,如下所示:

从“我的公共组件”导入{Loader}

就这样。我希望我避免了有人犯同样的错误,因为在搜索时,我发现了许多描述相同错误但由不同根引起的地方,如Typescript版本和错误的
必需的
说明