2017-10-07 3 views
1

J'essaie d'exécuter une requête de mutation qui nécessite un type d'entrée personnalisé sur le client. il semble actuellement quelque chose comme ceci:CustomTypes personnalisés avec reac-apollo

import { graphql } from 'react-apollo'; 
... 
const graphQuery = graphql(gql` 
    input UserSignUpInput { 
    firstName: String!, 
    lastName: String!, 
    email: String!, 
    password: String! 
    } 
    mutation userSignUp($input: UserSignUpInput!) { 
    createUserByEmail(input: $input) { 
     authToken 
    } 
    }`, { 
    props: ({ mutate }) => ({ 
    signup: (firstName, lastName, email, password) => 
     mutate({ variables: { input: { firstName, lastName, email, password } } }), 
    }), 
}); 
... 

Cependant, je reçois l'erreur que je ne suis pas autorisé à définir les types d'entrée dans la requête. Ma question est: Comment puis-je définir ces types d'entrée complexes? Il ne semble pas que je suis en mesure de fournir un schéma à ApolloClient ..

Répondre

0

La syntaxe correcte du côté client est juste:

gql` 
    mutation userSignUp($input: UserSignUpInput!) { 
    createUserByEmail(input: $input) { 
     authToken 
    } 
    } 
` 

En tant que votre entrée UserSignUpInput est défini sur le serveur , tout va bien.

serveur

input UserSignUpInput { 
    firstName: String!, 
    lastName: String!, 
    email: String!, 
    password: String! 
}