该问题类似于如何从 Typescript 1.6 中的单独文件中正确导入 React JSX。
当所有代码都在一个文件中时,它可以正常工作。但是当我将组件放到另一个文件中并尝试导入时,打字稿编译器会出错。
代码看起来不错。
我得到的错误是
JSX 元素类型“Hello”没有任何构造或调用签名。
应用程序.tsx
/// <reference path="typings/tsd.d.ts" />
import React = require('react');
import ReactDOM = require('react-dom');
import $ = require('jquery');
import Hello = require('./components/Hello');
$(()=>{
ReactDOM.render(<Hello name="Tom" />,document.body);
});
组件/Hello.tsx
/// <reference path="../typings/tsd.d.ts" />
import React = require('react');
export default class Hello extends React.Component<any,any>{
render(){
return <div className="hello">Hello {this.props.name} !</div>;
}
}
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"jsx": "react"
}
}