React GraphQL Relay - 如何进行简单查询?
Posted
技术标签:
【中文标题】React GraphQL Relay - 如何进行简单查询?【英文标题】:React GraphQL Relay - How to do a simple query? 【发布时间】: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
`
)
【问题讨论】:
【参考方案1】:graphql 标签中的操作名称必须以模块名称为前缀
如果 BlogPostPreview 是模块的名称,则应将查询 (clientQuery) 重命名为 BlogPostPreviewQuery。
【讨论】:
【参考方案2】:以下是示例。如果查询在:
/app/foo.js
- fooQuery
或 fooAnythingQuery
/app/foo/index.js
- fooQuery
或 fooAnythingQuery
/app/Foo/index.js
- FooQuery
或 FooAnythingQuery
/app/foo/bar.js
- barQuery
或 barAnythingQuery
【讨论】:
以上是关于React GraphQL Relay - 如何进行简单查询?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Relay 容器、react-router 和 GraphQL 按 id 获取和显示项目
未知插件“Relay” - React、GraphQL 和 Relay
如何将 Realm 与 Relay/GraphQL 一起使用