gpt4 book ai didi

caching - Apollo writeFragment 不更新数据

转载 作者:行者123 更新时间:2023-12-04 05:45:52 35 4
gpt4 key购买 nike

在 react-apollo 2.0.1 中,我有一个如下所示的 graphql 类型:

type PagedThing {
data: [Thing]
total: Int
}

做下面的writeFragment时
  client.writeFragment({
id,
fragment: gql`
fragment my_thing on Thing {
status
}
`,
data: {
status
}
})

缓存不会更新,新数据不会显示在 UI 上。还有什么需要做的吗?

PS:为了安全起见,我使用了 fragment matching

编辑1:

我收到以下错误:

Cannot match fragment because __typename property is missing: {"status":"online"}



所以我把代码改成:
client.writeFragment({
id,
fragment: gql`
fragment my_thing on Thing {
status
}
`,
data: {
__typename: 'Thing',
status
}
})

并没有抛出错误,但更新仍然没有发生

最佳答案

结果我不仅需要添加 __typename 作为 ID 需要默认解析的 ID(解释 here)

因此,我需要执行以下操作才能使其正常工作:

client.writeFragment({
id: `Thing:${id}`,
fragment: gql`
fragment my_thing on Thing {
status
}
`,
data: {
__typename: 'Thing',
status
}
})

关于caching - Apollo writeFragment 不更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631954/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com