Использование NODE_DELETE без повторной выборки данных

Использование NODE_DELETE требует родителя и фактически возвращает родителя соединения:

Ошибка ретрансляции при удалении: RelayMutationQuery: Недопустимое имя поля по толстому запросу

К сожалению, при использовании этого метода обновляются ВСЕ мои вложенные элементы, что просто неприемлемо для моего варианта использования.

  fragment on deleteItemNested @relay(pattern: true) {
    id
    ok
    item {
      nested {
        edges {
          node { id }
        }
      }
    }
    clientMutationId
  }

Есть ли способ удалить элемент из соединения/списка без повторной загрузки всех данных? Попытка не выбирать ребра во вложенных приводит к тому, что вложенный объект является просто пустым объектом.


person Secret    schedule 14.05.2016    source источник


Ответы (1)


Все вложенные элементы извлекаются повторно, так как в запросе использовался @relay(pattern: true). Это сопоставляет запрос с отслеживаемым запросом, который уже включает вложенные поля. См. отличный ответ steveluscher на вопрос Назначение @relay(pattern:true).

Пример кода NODE_DELETE в документации по мутациям заслуживает внимания.

person Ahmad Ferdous    schedule 14.05.2016