Ошибка Apollo React GraphQL VariableTypeMismatch

У меня есть мутация, которая выглядит так:

mutation ADD_CATEGORY($id: ID!, $category: ID!) {
  addCategory(id: $id, category: $category)
}

Он передается в мой компонент React как addCategory.

Моя функция handleSave выглядит так:

    handleSave = () => {
      const { id, category } = this.state;
      addCategory({ variables: { id, category: category.id } });
    }

id и category.id - это строковое свойство объекта this.state.

Я получаю следующую ошибку:

[GraphQL error]: Message: Validation error of type VariableTypeMismatch: Variable type doesn't match, Location: [object Object], Path: null

Глядя на API от GraphiQL, я вижу, что мутация updateCategory имеет следующие аргументы:

id: ID!
category: [ID!]!

Что мне здесь не хватает?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
1 605
1

Ответы 1

Убедитесь, что схема addCategory принимает тип String для идентификатора и категории. Из вашего вывода API похоже, что категория - это тип массива.

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