有没有办法使用 @apollo/react-hooks 访问多个 graphql 突变的选项

Posted

技术标签:

【中文标题】有没有办法使用 @apollo/react-hooks 访问多个 graphql 突变的选项【英文标题】:Is there a way to access options for multiple graphql mutations with @apollo/react-hooks 【发布时间】: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 =>   );

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

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

【问题讨论】:

【参考方案1】:

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

所以你的代码看起来像:

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

【讨论】:

有趣。我曾尝试过,但反过来.. [register, registerLoading: loading ] 。猜猜我只是把事情倒退了,谢谢! 如果它解决了您的问题,请接受答案 明白了!只是想确保它是正确的。再次感谢!

以上是关于有没有办法使用 @apollo/react-hooks 访问多个 graphql 突变的选项的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用“任意”变体作为参数?

有没有办法使用 XCUITest 测试快速操作?

有没有办法使用CSS向后工作[重复]

有没有办法使用CSS向后工作[重复]

有没有办法使用 bookdown 添加章节书目?

有没有办法使用 cloudformation 修改 AWS 现有资源?