Reactjs JSX元素类型';X';不是JSX元素的构造函数
在搜索了过去8个小时后,我找不到解决这个问题的方法。我收到一条消息: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 *
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代码>应该足够了。是的。很快就贴出一把小提琴。