gpt4 book ai didi

javascript - 中继生成的突变查询缺少某些字段

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:37 26 4
gpt4 key购买 nike

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


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


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

可以找到in this gist突变,我从中调用它的React组件以及生成的查询。

我使用graffiti-mongoose生成了GraphQL模式。

最佳答案

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

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

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

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

// mutation > outputFields > changedUserEdge...

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


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

关于javascript - 中继生成的突变查询缺少某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36308901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com