2016-06-30 2 views
7

フローを使用しようとしていますが、「フローによってカバーされていません」という警告が表示されるので、コードにはほとんど下線が引かれます。私はFlowのドキュメントをチェックしましたが、オブジェクトのプロパティチェーニングに関しては役に立たなかったので、どうすればこのようなことができますか?オブジェクトのプロパティチェーンでフロータイプ「フローでカバーされていません」

image

答えて

0

私もフローに新しいんだけど、HERESに私の感想:その後、Bの機能、A上で有効になっていません

あなたは二つのクラス、AとBがある場合、および型チェックを流れそれに呼応することは「発見」されるでしょう。

// a.js 
class A { 
} 

// b.js 
/* @flow */ 
import A from './A' 

class B { 
    buildA():void { 
    new A()  // I'm un-covered by Flow! 
    } 
} 

フローはAの構造について何も知らないため、保証を提供することはできません。

3

タイプ定義を持たないライブラリを使用しているようです。オブジェクトは、ファイル内で定義されたプロパティの検索で

、フローがすべてで任意の種類せずに100%のコードカバレッジを持っています

const foo = { bar: { baz: 2 } }; 
foo.bar.baz; 
// 100% Flow coverage 

同じことが別のファイルのために行く:

1.js

// @flow 
export default { bar: { baz: 2 } }; 

2.js

しかし
// @flow 
import foo from './1.js' 
foo.bar.baz; 
// 100% code coverage 

、とすぐに何かが流れが動作していないファイルからインポートされているとして(どちらかそれは流れがオフになっているか、そのためのフローを使用していないサードパーティのライブラリを持っているので)、フローではありませんそれをカバーすることができます。

1.js

// @noflow 
export default { bar: { baz: 2 } }; 

2.js

// @flow 
import foo from './1.js' 
foo.bar.baz; 
// 0% code coverage 

この問題を解決するために、あなたは流れにタイプに関する情報を提供する必要があります。

あなたはa.jsは、フローでカバーするさまざまなもの

をうまくいけば、これはあなたに、少なくとも出発点

を与えるのに十分便利です
関連する問題