Как обновить магазин после мутации с релеем? - PullRequest
1 голос
/ 26 марта 2020

Я изо всех сил пытаюсь понять, как это должно работать. У меня есть приложение, в котором есть текущий пользователь, поэтому самый верхний запрос выглядит следующим образом:

  query AppQuery {
    currentUser {
      id
      email
      ...Account_currentUser
      ...AccountEdit_currentUser
    }
  }

AccountEdit_currentUser определяется следующим образом:

export default createFragmentContainer(AccountEdit, {
  currentUser: graphql`
    fragment AccountEdit_currentUser on User {
      email
      name
      nickName
    }`
})

на AccountEdit составная часть. Этот компонент фиксирует эту мутацию:

  mutation AccountEditMutation($email: String!, $name: String!, $nickName: String!) {
    updateAccount(input: {email: $email, name: $name, nickName: $nickName}) {
      accountUpdated
      currentUser {
        id
        email
        name
        nickName
      }
    }
  }

После этого сервер возвращает правильные значения для email, name, nickName и т. Д. c. Как эти новые значения должны оказаться в магазине? Потому что это не похоже на автоматизацию c. Нужно ли писать пользовательские обновления? а обновить конфиг? Я пробовал это несколько раз, но я не мог приблизиться к чему-то, что даже вызывает разумную ошибку.

1 Ответ

0 голосов
/ 27 марта 2020

Это обновление магазина происходит автоматически, и причина, по которой этого не произошло, заключается в том, что значения node_ids текущего пользователя в исходном и последующем запросах были разными. Как только я сделал их одинаковыми, он начал работать.

...