【问题标题】:Union Types are not inferred properly in flowtype流类型中未正确推断联合类型
【发布时间】:2017-05-15 03:27:11
【问题描述】:

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

【问题讨论】:

  • 那么你的问题是什么?
  • 我收到一个错误,我正在调查我做错了什么或者我应该如何解决这个问题。

标签: javascript redux flowtype


【解决方案1】:

dispacth 函数需要一个动作,但无法确定该动作具有 componentToSelect 属性。 我应该先检查一下类型。

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

查看online

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2019-02-13
    • 2021-05-06
    • 2019-10-24
    相关资源
    最近更新 更多