Должны ли мы всегда использовать ловушку, или это нормально, чтобы вызвать его напрямую от клиента? - PullRequest
0 голосов
/ 15 февраля 2020

В React мы можем использовать внутренние компоненты useMutation или useQuery. Но допустим, что мы хотим запустить запрос или мутацию внутри вспомогательного файла (скажем, мы извлекаем часть, в которой мы форматируем данные, и выполняем мутацию для вспомогательной функции из функции компонента). Здесь у нас есть два варианта:

  • Передать функцию мутации, полученную из useMutation, в вспомогательную функцию
  • Вызвать мутацию непосредственно внутри вспомогательной функции, например apolloClient.mutate

Какой самый рекомендуемый способ ведения дел и что вы рекомендуете?

1 Ответ

1 голос
/ 15 февраля 2020

Хуки представляют дополнительное состояние компонента для возвращаемых данных, состояние загрузки и состояние ошибки. Это действительно просто удобство, потому что это означает, что вам не нужно звонить useState самостоятельно. Таким образом, совершенно нормально использовать client.mutate, если вам не нужно отслеживать эти состояния. В некотором смысле, это может быть лучше , так как вы не используете ненужно память для переменных, которые вы не будете использовать в любом случае.

То же самое можно сказать и для useQuery, что на самом деле просто использует client.watchQuery под капотом и избавляет вас от необходимости использовать useState и useEffect.

...