Typescript ベースのプロジェクトで redux-form というライブラリを使用しようとしています。「単純な形式」のサンプル コードを使用して実装すると、エラーが発生します。
error TS2604: JSX element type 'SimpleForm' does not have any construct or call signatures.
私は何を間違っていますか?このライブラリの定義ファイルがインストールされているため、コーディングが間違っているか、定義ファイルが正しくありません。
私のフォームコンポーネント(コードを可能な限りスリムにするためにコードを削除しました):
import * as React from 'react';
import {reduxForm} from 'redux-form';
export const fields = ['firstName'];
class SimpleForm extends React.Component<any, any> {
static propTypes = {
fields: React.PropTypes.object.isRequired,
};
render() {
const {
fields: {firstName}
} = this.props;
return (<form>
<div>
<label>First Name</label>
<div>
<input type="text" placeholder="First Name" {...firstName}/>
</div>
</div>
<div>
<button>
Submit
</button>
</div>
</form>
);
}
}
export default reduxForm({
form: 'simple',
fields
})(SimpleForm);
ここでそれを消費します(上記のエラーが発生します):
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import * as SimpleForm from '../components/GuestForm';
export default class Main extends React.Component<any, any> {
render() {
return (
<div className='mainApp'>
<SimpleForm />
</div>
);
}
}