【发布时间】:2020-06-07 03:48:54
【问题描述】:
我有一个突变(UploadTransaction)返回某个名为 Transaction 的对象的某个列表。
#import "TransactionFields.gql"
mutation UploadTransaction($files: [Upload!]!) {
uploadFile(files: $files){
transactions {
...TransactionFields
}
}
}
从后端(石墨烯)返回的交易有 id 和 typename 字段。因此它应该自动更新缓存中的事务。在 Apollo 的 chrome 开发工具中,我可以看到新的交易:
我还有一个获取所有 Transaction 对象的 GetTransactions 查询。
#import "TransactionFields.gql"
query GetTransactions {
transactions {
...TransactionFields
}
}
但是,我没有看到查询返回了新添加的事务。在初始加载期间,Apollo 客户端加载了 292 个事务,显示在 ROOT_QUERY 下。它不断返回相同的 292 笔交易。 UploadTransaction 突变在开发工具的缓存中添加“Transaction”类型的新对象,而不影响开发工具中的 ROOT_QUERY 或我在代码中的查询。
TransactionFields.gql 是
fragment TransactionFields on Transaction {
id
timestamp
description
amount
category {
id
name
}
currency
}
知道我做错了什么吗?我是 apollo 客户端和 graphql 的新手
【问题讨论】:
标签: graphql react-apollo apollo-client