2016-12-30 24 views
-1

flowtypeで正しく推測されていない私は、次のような関数の引数としてそれらを使用する場合は、次の特定のタイプを識別することができません。連合の種類はflowtype

/* @flow */ 

type Action = 
    { type: "SELECT", componentToSelect: string } 
    | { type: "UPDATE", componentToUpdate: string }; 

function dispatch(action: Action) { 
    console.log(action.componentToSelect); 
} 
dispatch({ 
    type: "SELECT", 
    componentToSelect: "anything" 
}); 

エラーメッセージは以下の通りです:

componentToSelect。プロパティは、オブジェクト型には見られない

dispacth機能がアクションを期待しますが、アクションはプロパティcomponentToSelectを持っているという確信がありませんオンラインhere

+0

だからあなたの質問は何ですか? –

+0

私は間違いを犯しています。私が間違っていることを調査しています。 – locropulenton

答えて

2

コード。 まずタイプのチェックを行う必要があります。

function dispatch(action: Action) { 
    if (action.type === 'SELECT') 
    console.log(action.componentToSelect); 
} 

見ることがonline

+0

githubの問題:https://github.com/facebook/flow/issues/3109 – locropulenton