搜索过去8小时后,我找不到解决方案。我收到一条消息:JSX element type 'X' is not a constructor function for JSX elements. Type 'X' is missing the following properties from type 'ElementClass': base, linkState
在另一个文件中工作时,调用的方法renderMessage()
呈现了一个简单的组件。我的组件确实在该父文件上呈现,但是Typescript不断抛出此错误,不允许我npm运行build。我的文件扩展名为.tsx,而tsconfig具有
"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);
}
答案 0 :(得分:1)
我将确保您在tsconfig.json
中有此行:
"jsx": "react",
并确保文件的扩展名为.tsx
,而不是.ts
。