Частичное обновление GraphQL / Apollo отправляет полный объектный блок с нулем - PullRequest
1 голос
/ 08 мая 2019

Привет, ребята, я только что попал в какую-то проблему.На игровой площадке все работает нормально, но в приложении отправляются все объекты с пустыми полями, кроме полей, которые я пытаюсь обновить.

Поэтому я пытаюсь обновить имя и фамилию пользователя.

Это моя мутация

export default gql`
  mutation updateUser(
    $_id: ID!
    $email: String
    $password: String
    $firstName: String
    $lastName: String
    $phone: String
    $description: String
    $role: String
    $avatar: String
    $houseName: String
    $streetName: String
    $city: String
    $postCode: String
    $newUser: Boolean
    $expoPushToken: String
    $birthday: String
    $countryOfResidence: String
    $nationality: String
  ) {
    updateUser(
      _id: $_id
      email: $email
      password: $password
      firstName: $firstName
      lastName: $lastName
      phone: $phone
      description: $description
      role: $role
      avatar: $avatar
      houseName: $houseName
      streetName: $streetName
      city: $city
      postCode: $postCode
      newUser: $newUser
      expoPushToken: $expoPushToken
      birthday: $birthday
      countryOfResidence: $countryOfResidence
      nationality: $nationality
    ) {
      _id
    }
  }
`;

Здесь я делаю мутацию

this.props.updateUser(_id, firstName, lastName);

const mutationConfig = {
  props: ({ mutate }) => ({
    updateUser: (_id, firstName, lastName) =>
      mutate({
        variables: { _id, firstName, lastName }
      })
  })
};

Что я получу в БД

{ email: null,
  password: null,
  firstName: 'John',
  lastName: 'Doe',
  phone: null,
  description: null,
  role: null,
  avatar: null,
  houseName: null,
  streetName: null,
  city: null,
  postCode: null,
  newUser: null,
  expoPushToken: null,
  birthday: null,
  countryOfResidence: null,
  nationality: null }

Если я сделаю то же самоена детской площадке

mutation{
  updateUser(_id: "5cd2f8612a89ff61aed9f43c", firstName: "John", lastName:"Doe"){
    _id
  }
}

Ответ выглядит следующим образом

{ firstName: 'John', lastName: 'Doe' }

Есть идеи, что может быть?

решено

Я обнаружил, что единственная проблема была с react-apollo@2.5.5, поэтому я вернулся к react-apollo@2.4.1, пока не выйдет новая версия

...