【发布时间】:2020-05-11 13:52:02
【问题描述】:
如何覆盖 Apollo 缓存中的值?
我有一个 graphql 查询来获取用户。这将返回具有默认货币的用户。然后可以从选择下拉列表中覆盖该货币。
查询从 API 获取 paymentCurrencies,然后使用客户端解析器将 paymentCurrencies 数组中的第一项设置为用户 currency
query me {
me {
username
currency @client
paymentCurrencies
}
}
当有人从下拉菜单中选择一种货币时,我想用他们选择的任何货币覆盖用户的货币。
到目前为止,我有这样的事情:
const onChange = e => {
const { value } = e.target
client.writeData({ user: { currency: value, username, __typename: "User" } })
}
我收到以下错误:Error writing result to store for query:
{"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GeneratedClientQuery"},"selectionSet":null}]}
Cannot read property 'selections' of null
使用writeData 是正确的方法还是应该使用writeQuery 之类的?
【问题讨论】:
标签: javascript reactjs graphql apollo react-apollo