Reputation:
The Goal:
I'm trying to query a specific character from a GraphQL server with relay.
The Problem:
The query works in GraphiQL. But here, when running "relay-compiler": "^1.4.1"
I'm getting...
ERROR: Parse error: Error: FindGraphQLTags: Operation names in graphql tags must be prefixed with the module name and end in "Mutation", "Query", or "Subscription". Got
clientQuery
in moduleJedi
. in "components/Jedi.js"
The Question:
Can't I just query that specific character like in GraphiQL ? How can I achieve this?
The Code:
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
}
}
`
})
Upvotes: 7
Views: 2899
Reputation: 5323
Here are examples. If query is in:
/app/foo.js
- fooQuery
or fooAnythingQuery
/app/foo/index.js
- fooQuery
or fooAnythingQuery
/app/Foo/index.js
- FooQuery
or FooAnythingQuery
/app/foo/bar.js
- barQuery
or barAnythingQuery
Upvotes: 5
Reputation: 1208
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.
Upvotes: 8