[英]Typescript generics + conditional types is not assignable to type error
[英]TypeScript conditional types confusion - Type is not assignable
假設我有一個 function 接受可選的 object 並始終返回另一個 object。 如果我們將一些 object 傳遞給這個 function,我們通過添加一個預定義的屬性來修改它。 如果我們不傳遞任何 arguments,我們只返回一個具有此預定義屬性的 object。
type TPropsGetter = <T = undefined>(
props?: T
) => T extends undefined
? { someValue: boolean }
: T & { someValue: boolean };
const getProps: TPropsGetter = props => ({
someValue: false,
...props
});
我很確定它會很好地工作,但是 TS 拋出以下錯誤:
'{ someValue: false; }'
'{ someValue: false; }'
不能分配給類型'T extends undefined? { someValue: boolean; }: T & { someValue: boolean; }'
'T extends undefined? { someValue: boolean; }: T & { someValue: boolean; }'
你認為我在這里缺少什么?
假設我有一個 function 接受可選的 object 並始終返回另一個 object。 如果我們將一些 object 傳遞給這個 function,我們通過添加一個預定義的屬性來修改它。 如果我們不傳遞任何 arguments,我們只返回一個具有此預定義屬性的 object。
type TPropsGetter = <T = undefined>(
props?: T
) => T extends undefined
? { someValue: boolean }
: T & { someValue: boolean };
const getProps: TPropsGetter = props => ({
someValue: false,
...props
});
我很確定它會很好地工作,但是 TS 拋出以下錯誤:
'{ someValue: false; }'
'{ someValue: false; }'
不能分配給類型'T extends undefined? { someValue: boolean; }: T & { someValue: boolean; }'
'T extends undefined? { someValue: boolean; }: T & { someValue: boolean; }'
你認為我在這里缺少什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.