我正在尝试使用一个空值初始化一个客户端查询,当用户选择一个元素时初始化一个writeData,并查询当前选择。
我当前收到错误消息:{}中缺少字段选择
如果我使用空字符串初始化选择,则错误消失。
定义客户端查询(typeDefs):
extend type Query {
isLoggedIn: Boolean!
selection: String
}
创建查询:
query SelectionQuery {
selection @client
}
创建客户端:
const client = new ApolloClient({
cache: new InMemoryCache(),
link,
initializers: {
isLoggedIn: () => !!localStorage.getItem(AUTH_TOKEN),
selection: () => null
},
typeDefs
})
写数据:
<ApolloConsumer>
{client => (
<div onClick={() => client.writeData({ data: { selection: 'Test' } })}></div>
)}
</ApolloConsumer>
读取数据:
<Query query={SelectionQuery}>
{({ data: { selection } }) => (
<div>{selection}</div>
)}
</Query>