繁体   English   中英

中继生成的变异查询缺少某些字段

[英]Relay generated mutation query is missing some fields

我已经设置了一个基本的Relay突变来添加用户,但是一旦执行,它就会返回此错误/警告:

警告:writeRelayUpdatePayload():预期的响应有效负载包括新创建的边缘“ changedUserEdge”及其“节点”字段。 您是否忘记了更新“ RANGE_ADD”突变配置?

我注意到中继在突变有效负载上遗漏了changedUserEdge节点,我也不知道为什么。 我看了几个中继示例,但是突变的构建方式完全相同。

可以在此要点中找到该变异,我称之为的React组件以及生成的查询。

我用涂鸦猫鼬生成了我的GraphQL模式。

我不确定是否能够提供帮助,您的想法对我来说似乎还不错,所以我认为您的问题可能在服务器上。

文档没有明确说明,但是在执行"RANGE_ADD"类型的突变时,Relay期望节点和游标的边缘。

游标是通过调用Relay的cursorForObjectInConnection(ArrayOfUsers, User) ,其中可以通过调用ArrayOfUsers.indexOf(User)在数组内找到ArrayOfUsers.indexOf(User)

因此,在我们添加用户的情况下,我们调用API将其插入数据库中,然后获得所有用户的列表,然后执行此操作以找到该功能的合适用户

// mutation > outputFields > changedUserEdge...

    let selectedUser = allUsers.find(u => u.uuid === newUser.uuid)[0];
    let cursor = cursorForObjectInConnection(allUsers, selectedUser);
    resolve({
        node: selectedUser,
        cursor,
    });

我个人认为这是最难实现的方法,但是一旦获得,它就非常简单。 希望这可以帮助!

暂无
暂无

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

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