如何使用自定义输入和变量构造apollo客户端变异

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

我有关于graphiQL的变异:

mutation ADDRELEASE{
  createRelease(release: {
    title: "Release Title"
    releaseType: "Album"

  }) {
    title
    id
  }
} 

我正在尝试使用带有graphql-tag的apollo客户端并设置像这样的变异变量:

 const CREATE_RELEASE = gql`
  mutation($release: {
    $title: String 
    $releaseType: String
  }){
    createRelease(release: {
      title: $title 
      releaseType: $releaseType

    }){
    id
   }
  }
`

我想这是语法问题。无法弄清楚如何使它工作。

javascript graphql react-apollo apollo-client graphql-js
1个回答
0
投票

如果您只打算使用$release$title,则无需为$releaseType和其他两个变量定义变量。你可以这样做:

# Replace ReleaseInput with the appropriate type based on the schema
mutation($release: ReleaseInput) {
  createRelease(release: $release) {
    id
  }
}

要么...

mutation(
  $title: String 
  $releaseType: String
) {
  createRelease(release: {
    title: $title 
    releaseType: $releaseType
  }) {
    id
  }
}

对于它的价值,您还可以使用GraphiQL中的变量测试查询。您可以通过单击页面左下角的QUERY VARIABLES打开变量编辑器。

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