【问题标题】:Make a mutation call multiple times depending on length of variable根据变量的长度多次进行突变调用
【发布时间】:2020-02-14 20:41:36
【问题描述】:

有没有办法让我从前端多次调用突变?我有一组用户需要添加到应用程序中,而突变目前只允许一次添加一个用户(我们可以更改突变,但他们想看看我是否可以先在前端进行批处理)。

这是我目前的突变:

export const SHARE_APP = gql`
  mutation ShareApp(
    $appId: String!
    $userId: String!
  ) {
    shareApp(
      appId: $appId
      userId: $userId
    ) {
      updatedApp {
        id
      }
    }
  }
`;

这可以在前端完成还是我需要更改 gql 代码以接受 id 数组?

【问题讨论】:

    标签: javascript reactjs graphql react-apollo graphql-tag


    【解决方案1】:

    Mutation 组件、useMutation 钩子和graphql HOC 都为您提供了一种可以多次使用的方法。

    const [share] = useMutation(SHARE_APP)
    await Promise.all(appIds.map((appId) => share({
      variables: {
        userId,
        appId,
      },
    })))
    

    批处理这些请求而言,Apollo 不支持开箱即用,因此您必须使用apollo-link-batch-http 之类的链接。

    【讨论】:

      猜你喜欢
      • 2017-03-07
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-09
      • 1970-01-01
      相关资源
      最近更新 更多