我正在尝试从这样的模块中动态导入 React 组件:
state: {
OsdComponent: React.Component<any, any>
}
constructor(props) {
super(props)
this.state = {
OsdComponent: null,
}
}
async componentWillMount() {
const {OsdComponent} = await import(`manifest-viewer`)
this.setState({OsdComponent})
}
然后尝试在渲染中像这样使用它:
render() {
const {OsdComponent} = this.state
if (OsdComponent) {
<OsdComponent/>
}
}
但 Typescript 编译失败,出现“TS2604:JSX 元素类型“OsdComponent”没有任何构造或调用签名。”
该代码在另一个未使用 Typescript 编译的模块中工作。