Reactjs JSX元素类型';X';不是JSX元素的构造函数

Reactjs JSX元素类型';X';不是JSX元素的构造函数,reactjs,typescript,react-dom,Reactjs,Typescript,React Dom,在搜索了过去8个小时后,我找不到解决这个问题的方法。我收到一条消息:JSX元素类型“X”不是JSX元素的构造函数。类型“X”缺少类型“ElementClass”中的以下属性:base,linkState 在另一个文件中工作时,调用呈现简单组件的方法renderMessage()。我的组件确实在父文件上呈现,但Typescript不断抛出此错误,不允许我运行npm构建。我的文件有一个.tsx扩展名,我的tsconfig有一个.tsx扩展名 “jsx”:“react”有什么想法吗 import *

在搜索了过去8个小时后,我找不到解决这个问题的方法。我收到一条消息:
JSX元素类型“X”不是JSX元素的构造函数。类型“X”缺少类型“ElementClass”中的以下属性:base,linkState

在另一个文件中工作时,调用呈现简单组件的方法
renderMessage()
。我的组件确实在父文件上呈现,但Typescript不断抛出此错误,不允许我运行npm构建。我的文件有一个.tsx扩展名,我的tsconfig有一个.tsx扩展名
“jsx”:“react”
有什么想法吗

import * as React from "react";
import * as ReactDOM from "react-dom";

export interface MessageProps {
    message: string;
}

export default class RelayMessage extends React.Component <MessageProps> {
    render() {
         return <span>{this.props.message}</span>
    }
}

export function renderMessage(props: MessageProps, target: HTMLElement) {
    ReactDOM.render(<RelayMessage message={props.message} />, target);
}
import*as React from“React”;
从“react dom”导入*作为react dom;
导出接口消息道具{
消息:字符串;
}
导出默认类RelayMessage扩展React.Component{
render(){
返回{this.props.message}
}
}
导出函数renderMessage(props:MessageProps,target:HTMLElement){
ReactDOM.render(,目标);
}

我会确保您在
tsconfig.json
中有这一行:

"jsx": "react",

并确保您的文件具有
.tsx
扩展名,而不是
.ts

不确定,但通常需要导入
React
,但现在,您似乎正在导入默认导出作为
React
的属性。只需
从“React”导入React应该足够了。是的。很快就贴出一把小提琴。