与react-apollo的自定义输入类型

问题描述:

我试图执行需要客户端上的自定义输入类型的变异查询。目前它看起来像这样:与react-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 } } }), 
    }), 
}); 
... 

但是我收到错误,我不允许在查询中定义输入类型。我的问题是:如何定义这些复杂的输入类型?它似乎并不像我能够提供一个架构,以ApolloClient ..

客户侧正确的语法就是:

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

作为输入UserSignUpInput在服务器上定义,一切都很顺利。

服务器

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