Я пытаюсь инициализировать клиентский запрос с нулевым значением, 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>