使用react-apollo自定义InputTypes

问题描述 投票:1回答:1

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

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提供架构。

graphql react-apollo apollo-client
1个回答
0
投票

客户端的正确语法只是:

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

由于您的输入UserSignUpInput是在服务器上定义的,所以一切都很顺利。

服务器

input UserSignUpInput {
  firstName: String!,
  lastName: String!,
  email: String!,
  password: String!
}
© www.soinside.com 2019 - 2024. All rights reserved.