GraphQL交叉引用抛出错误:字段类型必须是输出类型,但得到:[object object]
GraphQL Cross References throws error: field type must be Output Type but got: [object Object]
我目前正在努力与我的GraphQL API,不幸的是它不工作,因为我总是得到错误消息:
Error: Contact.other field type must be Output Type but got: [object Object].
我仍然阅读一些文章和帖子,像GraphQL与明确的错误:查询。示例字段类型必须是输出类型,但得到:[object object],但无论如何它都不起作用,因为答案不能解决我的情况下的错误原因。我希望你能帮助我或者给我一个提示来解决这个问题。我将代码的主要部分附在下面:
ProfileType.js:
const graphql = require('graphql');
const ContactType = require('./ContactType');
const ObjectType = graphql.GraphQLObjectType;
const List = graphql.GraphQLListType;
const ID = graphql.GraphQLID;
const NonNull = graphql.GraphQLNonNull;
const ProfileType = new ObjectType({
name: 'Profile',
fields: function () {
return {
id: {type: new NonNull(ID)},
contacts: {type: new List(ContactType)},
};
},
});
module.exports = ProfileType;
ContactType.js:
const graphql = require('graphql');
const ProfileType = require('./ProfileType');
const ObjectType = graphql.GraphQLObjectType;
const EnumType = graphql.GraphQLEnumType;
const ContactType = new ObjectType({
name: 'Contact',
fields: function () {
return {
other: {
type: ProfileType
},
status: {
type: new EnumType({
values: {
REQUESTED: {value: 0},
COMMITTED: {value: 1}
},
name: 'ContactStatus'
})
}
};
},
});
module.exports = ContactType;
(代表OP发布)
通过将所需的ObjectType移动到fields函数来解决:
const ContactType = new ObjectType({
name: 'Contact',
fields: function () {
const ProfileType = require('./ProfileType');
// ...
}
});
否则,ObjectType在循环性方面存在问题。当然,对于ProfileType也必须这样做。
相关文章:
- 警告:失败的propType:类型为“array”的无效prop应为React的“object”
- 为什么Object.protype.toString.call(foo)可以检测到foo's类型
- 未捕获的类型错误:Object[Object Object]没有方法'fancybox'
- 未捕获的类型错误:属性'$'对象[object Window]的
- 未捕获的类型错误:Object[Object Object]没有方法'滑块'
- 未捕获的类型错误:Object[Object global]没有方法'generateCards'
- jquery autocomplete组合框错误:未捕获类型错误:Object[Object Object]没有方法
- 给定一个对象数组,创建一个函数,该函数返回一个 Object,该 Object 具有按类型分组的路径数组
- 令人费解的未捕获类型错误:在非对象上调用了 Object.keys
- 什么类型的对象在控制台中显示为[object Text]
- Ember控制器计算的属性(Object类型)更新不起作用
- 带有外部依赖项的Jasmine单元测试指令失败,类型错误:'[object对象]'
- nodejs-jsdom类型错误:Object[Object global]没有方法'postMessage
- jQuery imgelens插件-未捕获类型错误:Object[Object Object]没有方法'imag
- 未捕获的类型错误:object[object object]没有方法'onmouse'
- 如何在向Object添加原型时排除一些js类型
- 未捕获的类型错误:对象[object DOMWindows]的属性不是函数
- Chrome扩展,JQuery错误“;未捕获的类型错误:Object[Object Object]没有方法'te
- 未捕获的类型错误:Object〔Object Object〕没有方法“”;fancybox”;
- 未捕获的类型错误:Object[Object Object]没有方法'可编辑'