Сочинять из аполлона это не функция? - PullRequest
2 голосов
/ 21 сентября 2019

Я обновил реактив-аполлон с 2,5 до 3,1, и моя композиция больше не работает.

Вот что я имел и работал до обновления:

import { graphql, compose } from "react-apollo";

//component register

export default compose(
  graphql(registerMutation, {name: "register"})
)(RegisterModal);

Теперь оно говорит "реагировать. Аполлон не является функцией ".

Я не понимаю, почему.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Есть другой способ,

import { graphql ,Mutation,Query} from 'react-apollo';
import gql from 'graphql-tag';

const CreateCheckout = gql`
 mutation checkoutCreate($input: CheckoutCreateInput!) {
  checkoutCreate(input: $input) {
    checkoutUserErrors {
      code
      field
      message
    }
    checkout {
        ...CheckoutFragment
      }
  }
}
${CheckoutFragment}
`;


async componentDidMount() {


    const input = {};
    await this.props.Checkout({
      variables: { input }
    })
    .then(res => {
      if (res.data.checkoutCreate.checkout.id){
       console.log("res.data.checkoutCreate:",res.data.checkoutCreate);
     }
     else {
      res.data.checkoutCreate.checkoutUserErrors.forEach(function (error) {
        if (error.field) {
          alert(error.message);
        } else {
          alert(error.message);
        }
      }.bind(this));
    }

    })


}


const CreatePageWithMutation = graphql(CreateCheckout, {
  name: 'Checkout', // name of the injected prop: this.props.createDraftMutation...
})(Dashboard)

export default CreatePageWithMutation;
0 голосов
/ 22 сентября 2019

Похоже, в текущей версии react-apollo 3.1.1 они больше не включают магическую функцию compose;).Отныне вам нужно будет установить recompose пакет и использовать compose оттуда:

import { graphql } from "react-apollo";
import { compose } from "recompose"

//component register

export default compose(
  graphql(registerMutation, {name: "register"})
)(RegisterModal);

ссылка на пакет https://www.npmjs.com/package/recompose

...