我们应该始终使用一个挂钩还是可以直接从客户端调用它?

时间:2020-02-15 01:12:44

标签: apollo react-apollo apollo-client

在React中,我们可以在组件内部使用useMutationuseQuery。但是,假设我们要在帮助程序文件中运行查询或变异(假设我们提取了格式化数据的部分,并从组件函数中执行了对辅助函数的变异)。在这里,我们有两个选择:

  • 将从useMutation获得的变异函数传递给辅助函数
  • 直接在辅助函数中调用突变,例如apolloClient.mutate

最推荐的做事方式是什么?您推荐什么?

1 个答案:

答案 0 :(得分:1)

挂钩为返回的数据提供了附加的组件状态,加载状态和错误状态。这实际上只是一种方便,因为它意味着您不必自己致电useState。因此,如果您不需要跟踪那些状态,则最好使用client.mutate。从某种意义上说,这可能是更好的,因为您不必不必要地使用内存来存储无论如何都不会使用的变量。

useQuery可以说同样的话,实际上只是在幕后使用client.watchQuery,而不必使用useStateuseEffect

相关问题