用Typescript编写的React应用中的错误参数类型

Error param type in React app written in Typescript

本文关键字:错误 参数 类型 应用 React Typescript      更新时间:2023-09-26

我使用原子typescript包,我做了一个简单的例子。

import * as React from "react"
interface Props {}
export class HelloWorld extends React.Component<Props, {}> {
  render() {
    return <div>Hello World</div>;
  }
}

import * as React from "react"
import * as HelloWorld from "./components/HelloWorld"
React.render(
  React.createElement(HelloWorld, null),
  document.getElementById('app')
);

问题是我得到这个错误:

at line 6, file /Users/mazzy/vagrant-devbox/expressjs-typescript/app/app.tsx Argument of type 'typeof "/Users/mazzy/vagrant-devbox/expressjs-typescript/app/components/HelloWorld"' is not assignable to parameter of type 'ComponentClass<any>'.

显然我已经安装了react.d.ts文件。对此有什么想法吗?

您正在尝试使用整个模块而不是其导出的成员。在这种情况下,您需要使用React.createElement(HelloWorld.HelloWorld, null);来访问成员。

或者,将import更改为import {HelloWorld as HelloWorld} from ...