2017-01-17 5 views
1

В настоящее время я создаю мутацию, которая удаляет узел. Я рассмотрел конфигурацию мутатора NODE_DELETE, но он указывает, что ему нужны parentName, parentID и connectionName.Почему в конфигурации NODE_DELETE необходимо указать соединение?

Почему для удаления узла нужны тезисы? Как Relay использует глобальные идентификаторы, она должна быть достаточно легко удалить узел из всех соединений и/или всех полей в настоящее время ссылки в

Смотрите документацию:.
Relay NODE_DELETE documentation

ответ

0

Вашей интуиция верна. Эти поля являются избыточными с целью удаления узла из хранилища данных, только config.deletedIDFieldName используется во время такой операции (подробности в модуле writeRelayUpdatePayload).

Однако вы не можете оставлять другие поля незаполненными, поскольку они по-прежнему необходимы во время проверки вашей мутации, которая расширяет класс RelayMutation. Я не знаю, откуда эта непоследовательность, но стоит отметить, что команда Relay изменила направление развития, и RelayMutation будет устаревать.

RelayMutation и жирные/отслеживаемые запросы. Будущие версии будут обесценивать этот API в пользу статического мутационного API. Мы рекомендуем использовать RelayGraphQLMutation, чтобы облегчить переход на новые мутации.

Источник: Related issue on github

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

Смежные вопросы