根据变量的长度多次进行突变调用

问题描述 投票:0回答:1

我是否可以从前端多次调用突变?我有需要添加到应用程序中的一系列用户,并且该更改目前仅允许一次添加一个用户(我们可以更改该更改,但是他们想看看我是否可以首先在前端进行批处理)。

这是我当前的变异:

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个回答
0
投票

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

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

batching这些请求而言,Apollo不支持该功能,因此您必须使用apollo-link-batch-http之类的链接。

© www.soinside.com 2019 - 2024. All rights reserved.