如何解决使用GraphQL Apollo客户端,如何设置@client字段以存储在缓存对象中?
query {
speakers {
id
name
checkBoxField @client
}
}
我的现场政策设置如下:
export const genericBoolean = cache.makeVar(false);
typePolicies: {
Speaker: {
fields: {
checkBoxField: {
read(checkBoxField = false) {
return genericBoolean === true ? "true" : "false";
...
我的页面上有一个按钮,我在其中使用useQuery定义了该按钮并执行代码:
onClick : genericBoolean(true)
当我转储(JSON.stringify)从useQuery返回的数据时,所有行的checkBoxField确实都变为了true,但是在我的Apollo缓存中(从chrome扩展中可以看到),没有存储用于checkBoxField的字段。我想要在那里,这样我就可以遍历缓存并获取每一行的值。
解决方法
根据 Apollo 文档,您可以使用反应变量或 Apollo 客户端缓存来存储本地状态:https://www.apollographql.com/docs/react/local-state/managing-state-with-field-policies/#storing
您上面的示例使用的是反应性变量。要将您的数据存储在缓存中,您需要使用 : mysqldump -ujosh -p -hresearch.edu datab > C:\S.sql
mysqldump: Got error: 1045: Access denied for user 'josh'@'josh.vpn.es.edu' (using password: YES) when trying to connect
或 writeQuery
:https://www.apollographql.com/docs/react/local-state/managing-state-with-field-policies/#storing-local-state-in-the-cache
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。