【问题标题】:React GraphQL Relay - How to do a simple query?React GraphQL Relay - 如何进行简单查询?
【发布时间】:2018-05-08 22:16:49
【问题描述】:

目标:

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

问题:

查询在 GraphiQL 中工作。但是在这里,当我运行"relay-compiler": "^1.4.1" 时,我得到...

错误:解析错误:错误:FindGraphQLTags:graphql 中的操作名称 标签必须以模块名称为前缀,并以“Mutation”结尾, “查询”或“订阅”。在模块Jedi 中得到clientQuery。在 “组件/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
          }
        }
    `
})

【问题讨论】:

    标签: reactjs graphql relay relaymodern


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      • /app/foo.js - fooQueryfooAnythingQuery
      • /app/foo/index.js - fooQueryfooAnythingQuery
      • /app/Foo/index.js - FooQueryFooAnythingQuery
      • /app/foo/bar.js - barQuerybarAnythingQuery

      【讨论】:

        猜你喜欢
        • 2015-11-27
        • 2020-05-23
        • 2020-01-09
        • 2016-05-30
        • 2018-02-12
        • 2017-02-10
        • 2016-03-03
        • 2018-08-28
        相关资源
        最近更新 更多