Обновление магазина реле после входа в Graphcool
Как часть процесса проверки подлинности моего веб-приложения, мне удалось создать пользователя в моем бэкэнде Graph.cool, и теперь нужно войти в систему (это двухэтапный процесс, как описано здесь). Это использует signinUser
мутация, которую я успешно установил здесь. Тем не менее, я не мог понять, как настроить мутацию getFatQuery()
/getConfigs()
, чтобы пользовательские данные зрителя были должным образом обновлены в хранилище ретрансляторов и распространены. Например, заголовок страницы (ViewerWidget
) не обновляется автоматически, но отображает правильную информацию, если я перезагружаю страницу.
1 ответ
Реле отслеживает все требования к данным компонентов, которые были (или были) визуализированы. Когда мутация отправляется, она также запрашивает все данные, которые могут измениться (переданные через FatQuery) и которые отслеживаются. Другими словами, если FatQuery вашей мутации содержит узлы / поля, которые еще не отслеживаются Relay, они не будут включены в запрос мутации (поскольку компонент, которому нужны эти данные, просто запросит их, когда будет отображаться для первого время).REQUIRED_CHILDREN
заставляет мутацию запрашивать определенные поля, даже если они не отслеживаются. Это действительно просто аварийный люк для случаев, когда вам нужно обрабатывать данные вне Relay. Это как эстафета ref
это реагировать.
API-интерфейс graphcool предоставляет корневое поле средства просмотра с идентификатором. Должно быть возможно иметь FIELDS_CHANGE
мутация (с идентификатором зрителя) для полевого пользователя.