繁体   English   中英

GraphQL验证错误

[英]GraphQL validation error

我正在尝试中继寻宝教程,但是在运行npm start时遇到以下错误。 我确实通过运行npm run update-schema来更新架构

Uncaught Error: GraphQL validation error ``Cannot query field "game" on type "Query".`` in file `/home/tharaka/My Projects/relay-treasurehunt/js/routes/AppHomeRoute.js`. Try updating your GraphQL schema if an argument/field/type was recently added.

这是我的AppHomeRoute.js里面的内容

import Relay from 'react-relay';

export default class extends Relay.Route {
    static path = '/';  
    static queries = {
        game: () => Relay.QL`query { game }`,
    };
    static routeName = 'AppHomeRoute';
}

看来您必须通过nodeviewer所有内容,因为这些是根查询类型上的唯一字段。 所以也许试试这个:

query {
  viewer {
    game
  }
}

在您的data/schema.js文件中...

 var queryType = new GraphQLObjectType({ name: 'Query', fields: () => ({ node: nodeField, // Add your own root fields here viewer: { type: gameType, resolve: () => getGame(), }, }), }); 

viewer属性更改为game 像这样...

 var queryType = new GraphQLObjectType({ name: 'Query', fields: () => ({ node: nodeField, // Add your own root fields here game: { type: gameType, resolve: () => getGame(), }, }), }); 

该属性的名称必须与您在“本地”路线中的片段中查询的字段匹配。 我想作为一种替代方案,您可以更改路线以请求viewer而不是game 做任何感觉更好的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM