2017-06-12 52 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特定的「語法糖」的東西:,因爲它實際上被編譯爲React.createElement - 並且返回一個對象而不是你想要的類。 – Amid