[英]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.