2016-08-13 12 views
0

リアクションコンポーネントをエクスポートした外部モジュールがあります。そのモジュールにはフロー宣言はありません。私はそれを宣言してフロータイプチェックを有効にしたいと思います。私は私の自己(内部モジュール)Flowtypeが欠落している 小道具を検出することができますことを書いた場合外部モジュールからReact.Component型を別の宣言ファイルで宣言するにはどうすればいいですか?

import React from 'react' 

class External extends React.Component { 
    static propTypes = { 
    name: React.PropTypes.string.isRequired 
    } 
    render() { 
    return <div></div> 
    } 
} 

:たとえば

は、そのモジュールは、次のように定義されています。しかし、Externalコンポーネントは外部モジュールからエクスポートされているためです。 フローはタイプチェックを行いません。だから、私は別の型宣言 そのモジュールの作成する必要があります。

私はこれを試してみました:もちろん

// ./interfaces/the-external-module.js.flow 

declare module "the-external-module" { 
    declare export var External: React.Component; 
} 

を反応させるのがスコープ内ではありませんので、それは動作しません。だから、どうすれば ExternalReact.Componentと別の型宣言ファイルで宣言できますか?

答えて

1

official definitionsの一部によれば、React$Component(ソースhereで定義されています)を使用してください。例えば

declare module "the-external-module" { 
    declare export var External: React$Component; 
} 
+0

これは機能します。しかし、私が答えを受け入れる前に、少なくとも1つの例を挙げることができますか?将来の視聴者を助けるかもしれない。 –

+0

もちろん、例を追加しました – danharper

関連する問題