我是GraphQL和Apollo的新手,我不明白' aliasEmail'下面的字段。当我将这个添加到查询时,我收到此错误消息。当我从查询中删除它时,一切都很完美。 它在' types.graphql'中有明确的定义。并且只是一个简单的字符串字段。
index.js:2178 Unhandled (in react apollo:Apollo(withRouter(EmailSettingsContainer))) Error: Network
error: Error writing result to store for query:
query getCompanyForAliasEmailEditForm($companyId: ID) {
Company(id: $companyId) {
name
isTaxActive
telFixe
aliasEmail
telMobile
__typename
}
}
Store error: the application attempted to write an object with no
provided id but the store already contains an id of
Company:cje6xkcnxl83u01353a20p1t6 for this object. The selectionSet
that was trying to be written is:
Company(id: $companyId) {
name
isTaxActive
telFixe
aliasEmail
telMobile
__typename
}
答案 0 :(得分:3)
听起来已经在应用中的其他位置发出了另一个查询,该查询也返回了公司对象,该查询包含id
(或_id
)字段,而查询中这种情况没有。 Apollo使用typename和id为您的查询结果生成缓存键(除非使用dataIdFromObject来修改此行为),因此在检测到上述差异时会抛出错误。尝试在getCompanyForAliasEmailEditForm
查询中添加id字段。