Мне очень нравится React Query. Для меня это значительно упрощает взаимодействие бэкэнда с моим приложением React и позволяет отказаться от Redux или Context API для управления данными из бэкэнда в моем fronded.

Получить данные из вашего бэкэнда с помощью useQuery для меня было довольно просто, однако useMutation привнесла некоторую сложность.

Допустим, у меня есть функция для обновления записи журнала для одного пользователя в моем бэкэнде.

Функция updateJournalEntryforUser принимает обновленную запись журнала, идентификатор обновляемой записи журнала и идентификатор пользователя, которому эта запись принадлежит.

Однако теперь использование этой функции с хуком useMutate приводит к ошибкам типа.

Причина этого в том, что MutationFunction принимает только один параметр, называемый переменными. Однако это может быть объект, а свойства можно деконструировать в нашей функции updateJournalEntryForUser.

Поскольку мы пишем это на TypeScript, нам также необходимо добавить интерфейс для параметров, которые мы хотим деконструировать из нашего объекта variables.

Нам также необходимо внести изменения при вызове нашей функции мутации, поскольку теперь мы передаем объект вместо трех отдельных параметров.

Вот и все. Теперь мы можем использовать нашу функцию с несколькими параметрами, объединенными в один объект и правильно типизированными.

Надеюсь, этот краткий обзор поможет вам чаще использовать useMutation в React Query в вашем приложении.

Продолжайте кодировать!