【问题标题】:Is there a way to access options for multiple graphql mutations with @apollo/react-hooks有没有办法使用 @apollo/react-hooks 访问多个 graphql 突变的选项
【发布时间】:2020-07-18 00:39:04
【问题描述】:

我有一个多次注册数据的多部分表单。我在我的组件中使用了两个突变,所以它看起来像这样。

const [register, { loading }] = useMutation(REGISTER),
      [tags, { loading }] = useMutation(TAGS);

这显然不起作用,因为我不能有两个加载变量。我一直在尝试为该场景寻找解决方法,但没有成功。

如果这是一个查询,我知道我可以这样做:

const register = useQuery(REGISTER),
      tags = useQuery(TAGS);

// now I have register.loading && tags.loading

但我还没有找到与 useMutation 类似的情况,因为如果我有类似的情况:

const register = useMutation(REGISTER);

register({var: "something"})
  .then(res => {  });

然后没有承诺,它会抛出一个错误。

处理这种类型的实例有更好的做法吗?

【问题讨论】:

    标签: reactjs graphql apollo


    【解决方案1】:

    您可以在解构时简单地重命名变量(参考: https://wesbos.com/destructuring-renaming/)

    所以你的代码看起来像:

    const [register, { loading: registerLoading }] = useMutation(REGISTER),
    const [tags, { loading: tagsLoading }] = useMutation(TAGS);
    

    【讨论】:

    • 有趣。我曾尝试过,但反过来.. [register, { registerLoading: loading } ] 。猜猜我只是把事情倒退了,谢谢!
    • 如果它解决了您的问题,请接受答案
    • 明白了!只是想确保它是正确的。再次感谢!
    猜你喜欢
    • 2020-01-11
    • 2021-05-01
    • 2019-10-03
    • 2020-09-18
    • 2019-10-18
    • 2023-03-05
    • 2019-06-11
    • 2019-11-28
    • 2019-11-27
    相关资源
    最近更新 更多