中继:获取递归数据返回null

时间:2016-01-19 17:02:17

标签: javascript recursion reactjs relayjs graphql

我有一个要提取和显示的递归数据结构。我有一个图表ql类型如下:

human {
  name,
  children: [human]
}

现在我想逐步获取数据,因此用于对类HumanList和HumanItem做出反应,我只在单击某个项目时使用中继来获取子项。在我的实际代码中,在非常点击的情况下,即在渲染第一组子项时,子项为空。我在接力操场上尝试了测试代码并发现了类似的问题。 Here是要点的链接。 Playground.js包含代码部分,Playground.gql.js包含模式部分。点击每个号码打开它下面的孩子。在3或4级之后,它开始显示Found children as null。对我而言,它发生在1.1.2.2上。如果它没有发生,那么请尝试在SCHEMA代码中添加更多级别,然后会出现错误。

我已经检查了转发问题#246#536,但没有一个帮助过。

非常欢迎任何帮助。

1 个答案:

答案 0 :(得分:1)

这是一个错误。给定一个复数字段,当时间来查询新数据时,我们会根据应用程序的需要来区分我们在商店中的内容。错误是我们假设复数字段的所有记录在商店中具有相同的形状,并且仅使用任何多个字段中的第一个商店记录来对齐。在你的情况下,这当然不是真的,其中复数字段中的某些记录可能会被扩展,而某些记录可能会被折叠。

这已作为https://github.com/facebook/relay/issues/1243的一部分修复,并将在Relay 0.9.1之后的版本中发布。