2016-05-03 6 views
2

伴って反応:多くの場合です。TypeCheck深くネストされた小道具は、それは私たちが対象の広がりを経由して、トップダウンから渡された小道具で、深くネストされたコンポーネントを持つことが一般的ですフロー

render() { 
    return <MyComponent { ...this.props } />; 
} 

、真ん中のコンポーネントが認識されていませんこのような小道具をこのように流し、各構成要素を流れるすべての小道具に注釈を付けるには、これらの構成要素がすべての子供のすべてを知る必要があります。

これを避ける方法はありますか。階層の最上部に注釈が付けられた小道具は、階層内の下端で使用されているかどうかチェックされます。単純にエクスポートおよびインポートすることなく、タイプの別名は、階層的な関係を壊すだろうか?

+0

フローには、モジュールのエクスポートに明示的に注釈を付ける必要があります(http://flowtype.org/docs/modules.html#missing-required-annotations)。私はこれが可能だとは思わない。 –

答えて

1

ParentComponent.somePropChildComponent.someOtherPropと指定して、Flowのtypeof operatorを使用してみてください。

+0

私は、1)親または子が別のものについて具体的に知っていることを要求すること、または2)タイプエイリアスをエクスポートおよびインポートすることなく、それを行う方法を理解していません。あなたのアイデアを説明するためのサンプルコードを含めることができますか? – glortho

+0

あなたはFlowのタイプチェックで過去1位を獲得することはありません。 'any'型を使うことができますが、これは型チェックを無効にします。未知の子の小道具を渡す代わりに、それらの小道具が既に適用されている要素を渡すように、コンポーネントを別々に作成することを検討してください。私はこれがあなたが望むものではないことを理解していますが、いくつかの限られた場合に役立ちます。 – Nikita

関連する問題