本文介绍了带有 react-apollo 的自定义 InputTypes的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to execute a mutation query that requires a custom input type on the client. Currently it looks something like this:

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 提供 Schema ..

However I'm getting the error that I'm not allowed to define input types in the query. My question is: How do I define these complex input types? It doesn't seem like I'm able to provide a Schema to ApolloClient..

推荐答案

客户端 端的正确语法是:

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

当您的输入 UserSignUpInput 在服务器上定义时,一切正常.

As your input UserSignUpInput is defined on the server, everything is going fine.

服务器

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

这篇关于带有 react-apollo 的自定义 InputTypes的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 11:03