Как создать мутацию клиента apollo с пользовательским вводом и переменными

У меня есть мутация, которая работает на graphiQL:

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

  }) {
    title
    id
  }
} 

Я пытаюсь использовать аполлон клиент с graphql-тег и устанавливать переменные мутации следующим образом:

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

    }){
    id
   }
  }
`

Думаю, дело в синтаксисе. Не могу понять, как заставить его работать.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 000
1

Ответы 1

Нет необходимости определять переменную как для $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 в левом нижнем углу страницы.

Другие вопросы по теме