簡體   English   中英

流程類型無法正確推斷聯合類型

[英]Union Types are not inferred properly in 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函數需要Action,但是不能確定該Action具有屬性componentToSelect 我應該先檢查類型。

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

在線查看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM