Использовать запрос 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
  )

Как мне решить эту проблему? Как мне получить результат повторного выполнения запроса и остановить выполнение исходного запроса, или это не имеет значения?

0 ответов

Другие вопросы по тегам