2016-12-30 4 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. Свойство не найдено в типе объекта

код онлайна here

+0

Так что ваш вопрос? –

+0

Я получаю сообщение об ошибке, и я изучаю, что я делаю неправильно, или как мне это исправить. – locropulenton

ответ

2

Функция dispacth ожидать действия, но нет несомненности, что действие имеет свойство componentToSelect. Сначала я должен проверить тип.

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

Смотреть это online

+0

github issue: https://github.com/facebook/flow/issues/3109 – locropulenton

 Смежные вопросы

  • Нет связанных вопросов^_^