【发布时间】:2019-03-08 20:55:55
【问题描述】:
我正在使用 AWS AppSync 和 Apollo。到目前为止,一切都很好,只是我刚刚意识到我所有的突变都不能正常工作:
在开发工具中,我可以看到返回的数据如下:
{
"data": {
"getProduct": {
"productId": "xxxxxxxxxxxxxxxxxxx",
"title": "my title",
"slug": "my slug"
}
}
}
...但是当我尝试 console.log 这些相同的数据时,我得到空值。 它只有在我的突变(查询工作正常)时才会这样做。
{
"data": {
"getProduct": null
}
}
这是我正在做的事情:
addProduct(variables): Observable<Product> {
return this.apollo.mutate({
mutation: gql`
mutation addProduct($product: AddProductInput) {
addProduct(product: $product) {
productId
title
slug
}
}
`,
variables
}).pipe(
tap(console.log)
)
}
在尝试找到解决方案几个小时后,我尝试将 Apollo 替换为 AWS Amplify 并按预期工作。
问题是我不想使用AWS Amplify。我不能使用 Fragments/offline/optimistic UI/fetchPolicy...我真的需要这些。
所以我想知道这是否应该是这样,还是我在这里遗漏了什么?
【问题讨论】:
标签: graphql apollo apollo-client aws-appsync aws-amplify