React GraphQL Relay - 如何进行简单的查询?

7 relay reactjs graphql relaymodern

目标:

我正在尝试使用中继从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
          }
        }
    `
})
Run Code Online (Sandbox Code Playgroud)

Sme*_*mek 8

graphql 标签中的操作名称必须以模块名称作为前缀

如果 BlogPostPreview 是您的模块的名称,您应该将查询 (clientQuery) 重命名为 BlogPostPreviewQuery。


srg*_*hma 5

以下是示例。如果查询位于:

  • /app/foo.js-fooQuery或者fooAnythingQuery
  • /app/foo/index.js-fooQuery或者fooAnythingQuery
  • /app/Foo/index.js-FooQuery或者FooAnythingQuery
  • /app/foo/bar.js-barQuery或者barAnythingQuery