首页 > 解决方案 > 如何解决 graphql 语法错误 gatsby.js

问题描述

我正在尝试运行以下 graphql 查询,但终端说我的代码中有语法错误:

export const query = graphql`

    query allAirtableLinked(filter: { table: { eq: "Published" } }) {
      edges {
        node {
          id
          data {
            title
          }
        }
      }
    }

`

终端声明语法错误

  Error: BabelPluginGraphQL: GraphQL syntax error in query:
    query allAirtableLinked(filter: {table: {eq: "Published"}}) {
      edges {
        node {
          id
          data {
            title
          }
        }
      }
    }
  message:
  Syntax Error GraphQL request (4:27) Expected $, found Name "filter"
  3:
  4:   query allAirtableLinked(filter: {table: {eq: "Published"}}) {
                               ^
  5:     edges {

有任何想法吗?

标签: graphqlgatsby

解决方案


您将参数传递给 GraphQLquery对象,而不是查询字段。

尝试这样的事情:

query allAirtableLinked($filter: { table: { eq: "Published" } }) {
  allAirtableLinked(filter: $filter) {
    edges {
      node {
        id
        data {
          title
        }
      }
    }
  }
}

推荐阅读