解構可能是錯誤的術語...
在我正在作業的代碼庫中找到了這個。這很令人困惑。
await apolloClient
.query<{ Workorder: Workorder }>({
query: WORKORDER_QUERY,
variables: { uuid: id },
})
我不明白 的意義{ Workorder: Workorder }
。這里發生了什么?那 vs 的價值是什么.query<Workorder>
?
Workorder
是一個包含大約 30 個屬性的界面。
uj5u.com熱心網友回復:
這不是解構。它只是意味著傳遞的型別引數是一個具有 Workorder 屬性的物件,并且該屬性的值是一個 Workorder。
例如,給定:
type Workorder = { order: boolean };
declare function fn<T>(): T;
const result = fn<Workorder>();
其中 type 引數與回傳的型別相同,result
型別為:
{
order: boolean
}
而如果你這樣做
const result = fn<{ Workorder: Workorder }>();
結果現在是以下型別:
{
Workorder: {
order: boolean
}
}
不是那樣.query
做同樣的事情,但這會讓你知道有什么區別。這樣做<{ Workorder: Workorder }>
只是將 Workorder 包裝在一個物件中并將其作為型別引數傳遞。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470425.html