После некоторой отладки я обнаружил, что при загрузке страницы React выполняет следующий запрос:
export default graphql(Query, {
options: (props) => ({
variables: {
start: props.start,
end: props.end
}
})
)(Comp);
Ошибка сервера - «Плохой запрос», что, похоже, связано с тем, что начало и конец пусты и им присвоено значение с плавающей запятой! Конечно, эти переменные будут пустыми; пользователь не ввел значения.
Когда я ввожу значения в пользовательский интерфейс и нажимаю «Отправить», все работает нормально. Мне просто нужна помощь в выяснении, как предотвратить выполнение этого запроса при загрузке страницы. И выполняется только при нажатии кнопки отправки.
Вы пробовали установить для свойства skip значение true? apollographql.com/docs/react/essentials/queries.html#props





Просто предоставьте функцию skip для qraphql hoc:
export default graphql(Query, {
skip: ({ start, end }) => (!start || !end),
options: ({ start, end }) => ({
variables: { start, end }
})
})(Comp);
Больше никаких ошибок при загрузке страницы, однако, теперь, когда нажимается кнопка отправки, происходит сбой приложения.
Это кажется совершенно отдельной проблемой. Я предлагаю вам создать новый вопрос и предоставить полный код компонента.
Когда нажата кнопка отправки, консоль показывает пустой массив, как и после загрузки страницы. Итак, похоже, что пропуск реализуется, даже когда нажата кнопка отправки, а запрос не выполняется. С этим сообщением об ошибке: Cannot read property 'loading' of undefined.
И опять же, это отдельная тема. Ничего не могу сказать, не увидев кода
Похоже, есть проблемы с пропуском, github.com/apollographql/react-apollo/issues/289. Спасибо за помощь.
Можете ли вы опубликовать больше кода, в частности конструктора, componentWillMount и componentDidMount