Как сделать мутацию graphql без параметров? (Vue Apollo)

У меня есть приложение vue, в котором я переключаю ширину меню боковой панели. Мой план состоит в том, чтобы иметь объект пользовательского интерфейса в локальном кеше apollo, где я могу отслеживать различные состояния пользовательского интерфейса (например, открытая или закрытая боковая панель). У меня есть запрос на проверку состояния боковой панели и изменение для ее обновления. Но по какой-то причине мутация, похоже, требует, чтобы я дал ей параметры ($ id: ID), хотя на самом деле я ничего не передаю мутации, когда использую ее. Как мне записать мутацию, если я не использую никаких параметров? Или параметр обязателен? Попытки удалить параметры и соответствующие сообщения об ошибках ниже.

Код:

Удаление параметров из обоих примерно так (Попытка №1):

введите здесь описание изображения

Результаты в:

Сообщение об ошибке:

Удаление круглых скобок (попытка №2):

введите здесь описание изображения

Результаты в:

введите здесь описание изображения


person Sean Tansey    schedule 03.02.2020    source источник
comment
Кажется, требуется, чтобы я дал ему параметры ... это означает, что если вы этого не сделаете, вы получите ошибку? Или наблюдаете какое-то неожиданное поведение? Вы должны указать любую ошибку, которую видите в вопросе, и как можно подробнее.   -  person Daniel Rearden    schedule 04.02.2020
comment
@DanielRearden обновил сообщение, чтобы включить ошибку. Это происходит при удалении параметров из toggleSidebarMutation   -  person Sean Tansey    schedule 04.02.2020
comment
снимаем и скобки .... mutation { toggle...   -  person xadm    schedule 04.02.2020


Ответы (1)


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

toggleSidebar

вместо того

toggleSidebar()

Последнее не является допустимым синтаксисом в GraphQL.

person Daniel Rearden    schedule 03.02.2020
comment
Я все еще получаю сообщение об ошибке Ошибка: сетевая ошибка: невозможно разложить undefined, есть ли проблема в преобразователе, использующем пустые скобки аргументов? - person Sean Tansey; 04.02.2020
comment
Nevermind, просто нужно обновить аргументы в преобразователе до имени пустого объекта аргументов, вместо того, чтобы иметь пустой объект деструктуризации, который у меня был раньше. - person Sean Tansey; 04.02.2020