2016-10-25 2 views
2

В качестве части потока аутентификации моего webapp мне удалось создать пользователя в моем блоке Graph.cool и теперь нужно выполнить вход (это двухэтапный процесс, как обсуждалось here). Это использует мутацию signinUser, которую я успешно установил here. Тем не менее, я не мог понять, как настроить мутацию /getConfigs(), чтобы пользовательские данные зрителя были должным образом обновлены в хранилище ретрансляции и распространены. Например, заголовок страницы (ViewerWidget) не обновляется автоматически, но отображает правильную информацию, если я перезагружаю страницу.Обновление хранилища ретранслятора после входа в Graphcool

ответ

2

Реле отслеживает все требования к данным компонентов, которые (или были) визуализированы. Когда мутация отправляется, она также запрашивает все данные, которые могут измениться (заданные через FatQuery) и отслеживаются. Другими словами, если FatQuery вашей мутации содержит узлы/поля, которые пока не отслеживаются Relay, они не будут включены в запрос мутации (поскольку компонент, которому нужны эти данные, просто попросит об этом, когда визуализируется для первого время). REQUIRED_CHILDREN заставляет мутацию запрашивать определенные поля, даже если они не отслеживаются. Это действительно просто экранирующий люк для случаев, когда вам нужно обрабатывать данные вне реле. Реле должно соответствовать ref.

API graphcool дает вам корневое поле зрителя с идентификатором. Должна быть установлена ​​мутация FIELDS_CHANGE (с идентификатором зрителя) для пользователя поля.

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