Как мы объединяем мутации в Relay из нескольких компонентов React?

Я новичок в Relay и сейчас пытаюсь использовать мутации. В моем случае использования у меня есть форма, состоящая из нескольких компонентов React, и я хочу зафиксировать изменения / мутации каждого компонента, объединить их в родительский компонент, а затем зафиксировать изменения на сервере GraphQL. Как я могу это сделать?

Все примеры, которые я видел до сих пор, относятся к мутации, используемой и фиксируемой в одном компоненте. Я хочу использовать тот же шаблон, который используется для запроса, где фрагменты локализованы в компоненте реакции, а затем они объединяются для создания запроса для сервера.


person Nikhil Agarwal    schedule 01.12.2016    source источник


Ответы (1)


Я задал тот же вопрос на GitHub, где ответили @yachaka и @josephsavona.
Вот ответ @josephsavona: -

... простой подход состоял бы в том, чтобы накапливать все изменения из дочерних компонентов в родительском компоненте (используя обратные вызовы и локальное состояние или что-то вроде Redux), а затем делать одну мутацию, когда пользователь сохраняет / фиксирует изменения.
Один из вариантов - использовать applyUpdate для оптимистичного применения каждого отдельного изменения, а затем отбросить все эти оптимистичные мутации назад при применении последней мутации.

См. https://github.com/facebook/relay/issues/1461#issuecomment-264662371 для полного обсуждения.

person Nikhil Agarwal    schedule 04.12.2016