带有整数查询参数的 RelayJS 不变违规
Posted
技术标签:
【中文标题】带有整数查询参数的 RelayJS 不变违规【英文标题】:RelayJS Invariant Violation with integer query parameter 【发布时间】:2015-12-16 13:55:05 【问题描述】:我对 Relay 比较陌生,所以这可能是我犯的一个简单错误,但我已经寻找了一段时间,但我没有找到任何关于我遇到的问题的信息。
这是我从我的应用程序中得到的错误:
未捕获的错误:不变违规:GraphQLFragmentPointer:查询
Route
上story
的参数值应该是一个字符串,但它被设置为10
。检查该值是否为字符串。
问题是我实际上希望它是 10
并且不希望它是字符串。我是否配置错误?
这是我的 GraphQL 架构:
var queryType = new GraphQLObjectType(
name: 'Query',
fields: () => (
node: nodeField,
story:
type: storyType,
args:
storyID:
description: 'Story ID',
type: GraphQLInt
,
resolve: (root, storyID) =>
if (storyID)
return Story.get(storyID)
else
return Story.get(10)
,
),
);
这是我定义的中继路线:
export default class extends Relay.Route
static queries =
story: () => Relay.QL`
query
story(storyID: $storyID)
`,
;
static paramDefinitions =
storyID:
required: false
,
;
static routeName = 'StoryRoute';
;
这就是我实例化它的方式:
let route = new Route(storyID: 10)
【问题讨论】:
【参考方案1】:好吧,看来我终于想通了。
似乎根字段受到严重限制,目前只能没有参数,单个字符串参数或多个字符串参数,直接与获取的对象的 ID 连接。
在此处查找更多信息:https://github.com/facebook/relay/issues/112 在这里:https://github.com/facebook/relay/issues/94
【讨论】:
@ravibagul91 我很好奇你发现this suggestion 是为了解决帖子的作者。感谢您在任何情况下进行审查。以上是关于带有整数查询参数的 RelayJS 不变违规的主要内容,如果未能解决你的问题,请参考以下文章
不变违规:查询(...):渲染没有返回任何内容。这通常意味着缺少返回语句
不变违规:不变违规:尝试从未标记为“本机”的节点获取本机标记 - 反应导航更新导致崩溃
react-navigation:使用 Expo.addListener 在推送通知中导航的不变违规
不变违规:TurboModuleRegistry.getEnforcing(...): 'NativeReanimated' 找不到