7

目标:

我正在尝试使用中继从GraphQL 服务器查询特定字符。

问题:

该查询在 GraphiQL 中工作。但是在这里,跑步时"relay-compiler": "^1.4.1"我会...

错误:解析错误:错误:FindGraphQLTags:graphql 标记中的操作名称必须以模块名称为前缀,并以“Mutation”、“Query”或“Subscription”结尾。进入clientQuery模块Jedi。在“组件/Jedi.js”中

问题:

我不能像在 GraphiQL 中那样查询那个特定的字符吗?我怎样才能做到这一点?

编码:

import React from 'react'
import { QueryRenderer, graphql } from 'react-relay'

const BlogPostPreview = props => {
 return (
   <div key={props.post.id}>{props.post.name}</div>
 )
}

export default QueryRenderer(BlogPostPreview, {
post: graphql`
         query clientQuery {
           character(id: 1000) {
             id
             name
             appearsIn
          }
        }
    `
})
4

2 回答 2

8

Operation names in graphql tags must be prefixed with the module name

You should rename your query (clientQuery) to BlogPostPreviewQuery if BlogPostPreview is the name of your module.

于 2017-11-29T12:49:09.327 回答
5

以下是示例。如果查询在:

  • /app/foo.js-fooQueryfooAnythingQuery
  • /app/foo/index.js-fooQueryfooAnythingQuery
  • /app/Foo/index.js-FooQueryFooAnythingQuery
  • /app/foo/bar.js-barQuerybarAnythingQuery
于 2019-02-04T13:45:45.623 回答