【问题标题】:Should we always use a hook or is it ok to directly call it from the client?我们应该总是使用钩子还是可以直接从客户端调用它?
【发布时间】:2020-02-15 09:47:00
【问题描述】:

在 React 中,我们可以在组件内部使用 useMutationuseQuery。但是假设我们想在帮助文件中运行查询或突变(假设我们提取格式化数据的部分并将突变执行到远离组件函数的帮助函数)。在这里,我们有两个选择:

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

最值得推荐的做事方式是什么,你有什么推荐的?

【问题讨论】:

    标签: apollo react-apollo apollo-client


    【解决方案1】:

    这些钩子为返回的数据、加载状态和错误状态公开了额外的组件状态。这实际上只是一种方便,因为这意味着您不必自己致电useState。因此,如果您不需要跟踪这些状态,则使用 client.mutate 非常好。从某种意义上说,它可能更好,因为您无需将内存用于您无论如何都不会使用的变量。

    useQuery 也可以这样说,它实际上只是在底层使用了client.watchQuery,让您不必使用useStateuseEffect

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多