当前位置: 首页 > 知识库问答 >
问题:

在React中使用GraphQL查询来自上一个查询的数据

魏烨熠
2023-03-14
const Query = graphql(
  baseNodeQuery([
    'entityId',
    'entityLabel'
  ], 'employment_reference_preset'), {
    options: {
      variables: {
        filter: {
          type: "employment_reference_preset"
        },
        limit: 1000,
        offset: 0
      }
    }
  })
(ExampleComponent);
const EmploymentReferencePresetEntity = ({data: {loading, error, nodeQuery}}) => {
  if (loading) {
    return <p>Loading...</p>;
  }
  if (error) {
    return <p>{error.message}</p>;
  }

  return (
    <div>
      //do something with the data form nodeQuery
    </div>
  )
};

但是,当我想使用从上一次查询中获得的Id进行第二次查询并使用该Id作为筛选器时,该怎么办?当我像以前一样在ExampleComponent中返回另一个graphql查询时,我会得到一个错误,即我没有返回有效的react组件。那我该怎么做呢?

提前感谢!

共有1个答案

杨俊茂
2023-03-14

我过去能够做到这一点的方法是将“子”查询分离到它自己的组件中。

假设你有一个太阳系组件,它向你展示了所有的行星。所以你有一个查询来返回没有细节的行星,还有一个查询叫做planetDetails什么的。创建SolarSystem组件并用父查询包装该组件,然后其中的每个行星将加载另一个组件,并将planetID作为道具传递给该组件。在该组件上,包装planetDetails查询,并为查询取道具“PlanetID”。

我知道这不是最好的例子,希望能有所帮助。

 类似资料:
  • 您可以看到,子查询中没有使用协议实体路径a1的别名,而是被协议实体路径A2的别名所取代。在querydsl中还需要做一些其他的事情才能生成这个查询吗?

  • 如何在Grafana的同一面板中使用来自不同查询的prometheus查询结果。 实例 我在格拉法纳有3个普罗米修斯查询,

  • 问题内容: 我有一个查询。现在,此查询当然返回一个结果集,我想要的是查询此查询的结果集,例如,我只希望上述查询具有唯一的名称。我应该提一下,我知道我可以在Query1中使用,但这只是一个示例,我的实际情况有些不同,我想知道的是是否可以查询上一个查询的结果集。我正在使用SQL Server 2012。 问题答案: 您可以使用该子句

  • 问题内容: 我进行了很多搜索,但找不到有用的答案: 我想通过用户给我一个开始和结束日期来列出用户定义的时间段的总计。从开始日期到开始日期之间的每次总计应该相加,并在每一天添加1天。因此最后一行给出了从开始到结束日期的总计。示例:-给定期间=开始2013-01-01,结束= 2013-01-31 所以我有一个查询谁计算所有天: 我有一个查询谁每天计算总数 现在将这两者结合起来很难得到我的最终结果。

  • 我有一个graphQL API。这意味着我可以定制我想要的突变反应。 当然,我需要我的UI与新数据同步。不过,我不确定什么是实现这一目标的最佳选择。 备选案文1 https://react-query.tanstack.com/guides/invalidations-from-mutations 除了成功状态之外,不返回任何来自突变的内容 使用重新蚀刻变异后应该陈旧的相关查询 备选案文2 htt