Использовать запрос URQL при нажатии кнопки, а не при начальной загрузке компонента
Я использую URQL с Apollo GraphQL.
После того, как пользователь заполнит форму, я хочу выполнить запрос (а затем произвести изменение). Я не хочу делать это при загрузке компонента, только после того, как они отправят форму (тем самым вызывая функцию).
Это означает, что reexecuteQuery бесполезен, потому что я вообще не хочу его даже выполнять. Если я вставлю хук useQuery / useMutation в свою функцию, я получу сообщение об ошибке, поскольку функция не является компонентом React.
Мой запрос:
const CHECK_LINK = `query($Short_URL: String!) {
link_by_short_url(Short_URL: $Short_URL) {
id
Base_URL
}
}`;
Мой хук useQuery:
const Component = () => {
const [{ data: result, fetching, error }, reexecuteQuery] = useQuery(CHECK_LINK);
const onSubmit = (data) => {
reexecuteQuery({ Short_URL: data.short_id });
};
return (
// there's a button that will essentially call onSubmit
)
Как мне решить эту проблему? Как мне получить результат повторного выполнения запроса и остановить выполнение исходного запроса, или это не имеет значения?