私はTypescriptでReactアプリケーションを構築しています。私はルータに組み込もうとしているコンポーネントごとに次のエラーが出ます。React.ComponentはReactTypeではありません
ERROR in [at-loader] ./src/scripts/components/AppRouter.tsx:14:25
TS2322: Type 'typeof "E:/Programming Projects/free-food-app/src/scripts/components/OverviewPage"' is not assignable to type 'ReactType'.
Type 'typeof "E:/Programming Projects/free-food-app/src/scripts/components/OverviewPage"' is not assignable to type 'StatelessComponent<any>'.
Type 'typeof "E:/Programming Projects/free-food-app/src/scripts/components/OverviewPage"' provides no match for the signature '(props: any, context?: any): ReactElement<any>'
これはまったくわかりません。それは、React.Componentを拡張するクラスがルータに含まれているべきであると思われるようです。なぜこれらのエラーが表示されますか?
AppRouter.tsx:
import * as React from 'react';
import { Router, Route, hashHistory } from 'react-router';
import * as OverviewPage from './OverviewPage';
import * as AssignmentViewPage from './AssignmentViewPage';
import * as SubmissionEditPage from './SubmissionEditPage';
import * as SubmissionSubmitPage from './SubmissionSubmitPage';
import * as SubmissionViewPage from './SubmissionViewPage';
export default class AppRouter extends React.Component<any, any> {
public render() {
return (
<Router history={hashHistory}>
<Route path="/" component={OverviewPage}/>
<Route path="/assingment" component={AssignmentViewPage}/>
<Route path="/submission/edit" component={SubmissionEditPage}/>
<Route path="/submission/submit" component={SubmissionSubmitPage}/>
<Route path="/submission/" component={SubmissionViewPage}/>
</Router>
);
}
}
編集:OverviewPage.tsx
import * as React from 'react';
class OverviewPage extends React.Component<any, any> {
public render() {
return (
<div>
<p>Overview</p>
</div>
);
}
}
export { OverviewPage }
ルーターに渡す各コンポーネントの小道具と状態の種類は何ですか? –
コンポーネント(OverviewPage)の1つを投稿できますか?あなたの輸入品は奇妙に見えます、なぜあなたはすべてを*として輸入しますか? – soywod
@soywod私は './OverviewPage 'から' OverviewPageをインポートする'としてインポートを始めました。エラーメッセージを次のように変更しました: 'TS2322:Type '{OverviewPage:typeof OverviewPage; } 'はタイプ' ReactType 'に割り当てられません。 オブジェクトリテラルは既知のプロパティのみを指定でき、 'OverviewPage'はタイプ 'ReactType'には存在しません。 ' – Prichmp