带有 react-apollo 的自定义 InputTypes

And*_*bol 3 graphql react-apollo apollo-client

我正在尝试在客户端执行需要自定义输入类型的突变查询。目前它看起来像这样:

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 } } }),
  }),
});
...
Run Code Online (Sandbox Code Playgroud)

但是我收到错误,我不允许在查询中定义输入类型。我的问题是:如何定义这些复杂的输入类型?我似乎无法向ApolloClient..

use*_*695 8

客户端的正确语法是:

gql`
  mutation userSignUp($input: UserSignUpInput!) {
    createUserByEmail(input: $input) {
      authToken
    }
  }
`
Run Code Online (Sandbox Code Playgroud)

由于您的输入UserSignUpInput是在服务器上定义的,所以一切正常。

服务器

input UserSignUpInput {
  firstName: String!,
  lastName: String!,
  email: String!,
  password: String!
}
Run Code Online (Sandbox Code Playgroud)