2017-06-12 22 views
1

私のプロジェクトでglobal.d.tsにあるライブラリのタイプを文書化しようとしています。外部反応成分のタイプを文書化するには

デフォルトのエクスポートがそのような小道具との反応コンポーネントであるように指定する方法を理解できません。

私は約ComponentClassについての言及を見つけましたが、それに関する情報はありませんでした。

declare module 'yes-exporting-component' { 
    const PieChart: <{ 
    data: { color: string, value: any }[] 
    }>; 
    export default PieChart; 
} 

が明らかに上記の構文が正しくありません:

は、私はそれが何かのようにする必要があります想像してみてください。

答えて

1

あなたはこのようにそれをしようとすることができます

declare module 'yes-exporting-component' 
{ 
    export interface MyPropType 
    { 
     data: { color: string, value: any }[]; 
    } 

    class PieChart extends React.Component<MyPropType, any> 
    { 

    } 

    export default PieChart; 
} 
+0

その有効な構文である理由あなたが説明を追加することはできますか? –

+0

これは、タイプコピーで何かをエクスポートする方法です。 JXS/TSX固有の "syntax sugar":を使って実際に何かをエクスポートすることはできません。これは事実上React.createElementにコンパイルされ、オブジェクトとクラスを返します。 – Amid

関連する問題