石墨烯 django 继电器:继电器变换错误
Posted
技术标签:
【中文标题】石墨烯 django 继电器:继电器变换错误【英文标题】:graphene django relay: Relay transform error 【发布时间】:2017-02-26 23:12:34 【问题描述】:作为 GraphQL 的新手,我有一个带有两个模型的服务器的石墨烯 django 实现,非常接近 graphene docs' example。
在 graphiql 中,我可以做到这一点,然后返回结果。
跟随另一个relay tutorial,我打算在屏幕上呈现这个查询的结果。
我的尝试如下所示:
class Note extends Component
render()
return(
<div> this.props.store.title </div>
)
Note = Relay.createContainer(Note,
fragments:
store: () => Relay.QL`
fragment on Query
note(id: "Tm90ZU5vZGU6MQ==")
id
title
`
);
class NoteRoute extends Relay.Route
static routeName = 'NoteRoute';
static queries =
store: Component =>
return Relay.QL`
query
$Component.getFragment('store')
`,
;
我的浏览器控制台显示以下错误:
Uncaught Error: Relay transform error ``There are 0 fields supplied to the query named `Index`, but queries must have exactly one field.`` in file `/Users/.../src/index.js`. Try updating your GraphQL schema if an argument/field/type was recently added.
我一直在尝试自己解决这个问题,但成功有限。
有人能指出正确的方向吗?
【问题讨论】:
我认为 Relay 不允许使用片段on Query
。您的NoteRoute
中的查询需要一个且恰好一个字段。
【参考方案1】:
感谢@stubailo 为我指明了正确的方向。我做了一些调整,现在有一个像这样运行的最小示例:
NoteList = Relay.createContainer(NoteList,
fragments:
store: () => Relay.QL`
fragment N on NoteNodeConnection
edges
node
id
title
note
`
);
class NoteRoute extends Relay.Route
static routeName = 'NoteRoute';
static queries =
store: Component =>
return Relay.QL`
query
notes
$Component.getFragment('store')
`,
;
【讨论】:
以上是关于石墨烯 django 继电器:继电器变换错误的主要内容,如果未能解决你的问题,请参考以下文章