2017-10-07 113 views
1

我試圖執行需要客戶端上的自定義輸入類型的變異查詢。目前它看起來像這樣:與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 ..

回答

0

客戶側正確的語法就是:

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

作爲輸入UserSignUpInput在服務器上定義,一切都很順利。

服務器

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