У меня есть этот код для управления значением поля поиска
const GET_SHOP_FILTER = gql`
query getFilter {
name @client
}
`;
class ShopSuggestBox extends Component {
render() {
return (
<div>
<div className = "name">
<Query query = {GET_SHOP_FILTER}>
{({data, client}) => (
<div>
data is {JSON.stringify(data)}
<input
onChange = {e => {
client.writeData({data: {name: e.target.value}})
}} ...//not relevant
Моя проблема в том, что я получаю следующие ошибки:
[Ошибка GraphQL]: сообщение: невозможно запросить поле «имя» для типа «запрос»., Расположение: [объект объекта], путь: не определено index.js: 63 [Ошибка GraphQL]: Сообщение: Неизвестная директива «клиент»., Местоположение: [объект Object], Путь: undefined
Насколько я понимаю, директива @client не интерпретируется. Что я пропустил, пожалуйста?





Ok
Проблема в том, что даже если в документе говорится, что преобразователи не требуются, вы должны предоставить пустой преобразователь, чтобы он работал.
Я изменил код следующим образом (поэтому док неверен)
const client = new ApolloClient({
//uri: "http://localhost:4000/graphql"
// cache,
clientState: {
defaults: {
name: "my",
city: "",
selectedId: null,
previewId: null,
selectedComplaintId: null,
}, resolvers: {}
}
});