2017-07-02 46 views
0

DateObj的兩種可能性似乎仍然不相交,Flow似乎並沒有改進else分支上的類型。我怎樣才能使這個正確的類型?如何對兩個「確切」對象的聯合進行類型細化?

type DateObj = {| date: string |} | {| dateTime: string |} 

export const parseDate = (dateObj: DateObj) => { 
    if (dateObj.date) { 
    return moment(dateObj.date).toDate() 
    } else { 
    return moment(dateObj.dateTime).toDate() 
    } 
} 

流量:物業dateTime。物業在對象類型未發現

(在最後的return語句行)

回答

2

https://flow.org/try/試圖幫助,它給了我一個額外的錯誤

if (dateObj.date) { 
    ^Sketchy null check. Perhaps you meant to check for null instead of for existence? 

修復這個錯誤也解決了我原始問題

if (dateObj.date !== undefined) { 
+0

FYI,粗略的空檢查警告是一個項目的一部分,提供選擇性類型awar e linting。它默認是關閉的,但是在flow.org/try中意外啓用了它。 –

相關問題