[英]Property 'id' is missing in type {`id`} using GraphQL and Typescript
我是編碼和 Typescript 的新手,所以請原諒我缺乏知識。 我試圖讓我的應用程序與我的 api 交談,但由於我的主 ID 鍵有一個“?”而出現以下錯誤。 如下:
export interface PartMaster {
id?: number;
}
當我刪除“?” 我得到一個不同的錯誤,當我保留它時,我也會得到一個不同的錯誤。 我在 GraphQL 中遺漏了什么嗎? 我主要是前端開發人員,我的同事已經完成了所有的 GraphQL 管理,但我今天需要自己解決這個問題,因此我們將不勝感激。
這是當我有“?”時它不喜歡的代碼在 ID 中:
computed: {
part(): PartMaster {
return {
partNumber: this.partNumber,
}
}
},
錯誤讀取類型 partNumber 中缺少的屬性“id”
這是我包含“?”時的錯誤:
editRow(partMaster.id)
editRow(part.id)
它強調了 partmaster.id 和 part.id 並出現以下錯誤:
'number | 類型的參數 undefined' 不能分配給“number”類型的參數。 類型“未定義”不可分配給類型“數字”。
這個問題確實需要更多細節,包括定義editRow
function 和調用GraphQL 查詢的部分,以及id
未標記為可選時的錯誤文本。 但是,我還沒有足夠的聲譽來發表評論,因此將在答案中解決這個問題。
有了給定的信息,我可以猜到:
Argument of type 'number | undefined' is not assignable to parameter of type 'number'. Type 'undefined' is not assignable to type 'number'.
)可能是因為editRow
需要一個類型的參數number
。 通過將id
標記為可選,您表明它有時可能是undefined
。 要么不將其標記為可選,要么讓editRow
接受number | undefined
number | undefined
並處理代碼中undefined
的情況。id
字段。 GraphQL 的要點是僅請求您需要的內容,因此您的同事可能沒有將此字段添加到請求中。 如果不是這樣,如果沒有上面提到的額外細節,我將無法提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.