2017-04-11 9 views
2

私は以下のJSXを持っています。何かのように:フロータイプerror:不明なタイプのプロパティです。このタイプは配列タイプと互換性がありません

注釈がないと、注釈がありません。キャストすると、次のエラーが表示されます。

81: (event.divisions.edges: Array<Object>) 
     ^^^^^^^^^^^^^^^^^^^^^ property `edges` of unknown type. This type is incompatible with 
81: (event.divisions.edges: Array<Object>) 
           ^^^^^^^^^^^^^ array type 

どのように互換性がない可能性がありますか?そして、それはどうやって未知であるのだろうか私は明示的にそのタイプに言いました。

+0

は、あなたがオブジェクトのキーをループ –

+0

をevent.divisions.edgesしたいですかフロー内のキャストは安全です。それはあなたがそれを与えるタイプが正しいことをまだ確認します。 'イベント 'がどこから来て、どのような型であるのかを知らなくても、あなたの問題を解決する方法はありません。 –

答えて

0

あなたはfollowig方式でオブジェクトの配列上にマッピングすることができます

{ 
    event.divisions && 
    event.divisions.edges && 
    event.divisions.edges.map(d => { 
     return d.node.map(division => (
     <div>{division}</div> 
    )) 
    } 

} 
+0

これを行うと、別のフローエラーになります。 「81:event.divisions.edges ^呼び出し方法の 'map'方法は 81で呼び出すことができません:。event.divisions.edges ^^^^^^^^^^^^^^^^ ^^^^^不明なタイプの「エッジ」 – Zack

+0

キャストを追加しないと、フローはエッジが不明であることを警告します。キャストを追加すると、フローは互換性がないというエラーが表示されます。 – Zack

+0

どのように値を取得していますか?event.divisions.edges –

0

代わりにこれをやってみてください。

{ 
    event.divisions && 
    event.divisions.edges && 
    (event.divisions.edges: $ReadOnlyArray<Object>) 
    .map(d => d.node) 
    .map(division => (
     <div>{division}</div> 
    )) 
} 
+0

同じ問題... :-( – Zack

関連する問題