我正在爲我的項目測試FlowJS,並且我遇到了與Type Aliases有關的問題。FlowJS:類型繼承
我建一個網站的SDK的API:我有一個Helper
類用這種方法:
class Helper {
find(filters:PaginationOptions = {}) {
// ...
}
}
PaginationOptions
是一個基本FlowJS類型:
type PaginationOptions = {
start?:string,
end?:number,
};
我也有用戶的幫手從Helper
繼承:
class UsersHelper extends Helper {
find(filters:UsersFilterOptions = {}) {
// ...
}
}
UsersFilterOptions
是FlowJS型「推」 PaginationOptions
:
type UsersFilterOptions = {
username?:string,
city?:string,
} & PaginationOptions;
我在這裏使用一個Intersection讓我的用戶過濾器也應該接受start
和end
性能。
看來,我的IDE(PHPStorm)不從我UsersHelper
類喜歡我find()
方法,它總是告訴我說:
不兼容的覆蓋,應該有型 'PaginationOptions'
那麼......我知道,這就是爲什麼UsersFilterOptions
與PaginationOptions
有交集。
但FlowJS也表明了我兩個人警告:
流量:物業
username
。在對象字面上找不到屬性
流程:屬性city
。物業在對象字面沒有發現
我不明白爲什麼我有這些錯誤:這些屬性被定義爲可選...
你有修復這些三個錯誤有什麼建議?
在此先感謝!
@ nat-mote我可以知道爲什麼tag'flow-js'已被刪除?這個問題完全是關於'flow-js',對我來說這是一個非常不合理的想法,刪除這個標籤... – KorHosik
看看這個標籤的描述,它是針對不同的流程類型檢查器的項目。標籤爲你想要的是flowtype:http://stackoverflow.com/tags/flow-js/info –
好的,謝謝你的信息:) – KorHosik