![](/img/trans.png)
[英]How to wrap GraphQL mutation in Apollo client mutation component in React
[英]How to add array of objects to apollo client mutation request?
我正在构建一个 nativescript 移动应用程序,它使用 graphql API,我正在通过 apollo boost 使用 apollo 客户端。
当我尝试在突变中发送对象数组时出现问题,如下所示:
let {
to,
total,
drugList
} = order
apolloClient.mutate({
mutation: gql `mutation {
makeOrder(
to: "${to}",
total: ${total},
drugList: ${drugList}
){
id
}
}`
}).then((res) => {
console.log(res)
}).catch((error) => {
console.log(error)
})
我试图将 drugList 记录在模板文字中,例如:
console.log(`${drugList}`)
但是我得到了[object object],[object object]然后我尝试改用${[...drugList]}
并且我得到了所需的对象数组结构,但是 apollo 客户端的变异 function 不接受它(不执行突变或记录错误)。
我是否错过了让它运行的东西,或者有什么建议可以运行它?
感谢Bergi在他注意到我使用带有 gql 标记的模板文字的查询后,我无法将其与 console.log 测试中的简单模板字符串进行比较。
所以我搜索了这个并发现变量属性可以解决问题,所以这是最终结果。
let {
to,
total,
drugList
} = order
apolloClient.mutate({
mutation: gql `mutation ($to: ID!, $total: Float!, $drugList: [OrderDrugsListInput!]!) {
makeOrder(
to: $to,
total: $total,
drugList: $drugList
){
id
}
}`,
variables: {
to: to,
total: total,
drugList: drugList
}
}).then((res) => {
console.log(res)
}).catch((error) => {
console.log(error)
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.