Как правильно отправить `response-hook-form` с мутацией` response-query`?

Я использую react-query в сочетании с react-hook-form. Чтобы активировать опору isSubmitting в форме и показать состояние загрузки при отправке, функция mutate должна возвращать Promise вместо прямого использования mutate.

На данный момент мой обходной путь выглядит следующим образом:

const { mutate } = useMutation(...);

const update = (data) => {
    return new Promise((resolve, reject) => {
      mutate(data, {
        onSuccess: resolve,
        onError: reject,
      });
    });
};

а затем передайте update в methods.handleSubmit переход из формы.

Может ли кто-нибудь поделиться опытом по этой теме? Спасибо!


person Nadezhda Serafimova    schedule 29.04.2021    source источник


Ответы (1)


Чтобы активировать свойство isSubmitting в форме и показать состояние загрузки при отправке, функция mutate должна возвращать Promise вместо прямого использования mutate.

похоже, что это требование формы реакции-хуков?

Вы можете использовать mutateAsync, который вернет Promise и передаст его react-hook-form

Помимо этого, useMutation также возвращает состояние isLoading для вашей мутации, поэтому вы можете позволить response-query обрабатывать это (я не знаю response-hooks-form, поэтому не уверен, возможно ли это).

person TkDodo    schedule 29.04.2021