微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

中继根据查询结果重新运行查询的正确语法是什么

如何解决中继根据查询结果重新运行查询的正确语法是什么

让我们说我有一个获取advisors查询。该查询返回连接到该顾问程序的顾问程序id的列表。现在,我想重新运行以n数量id为首的顾问的查询,并获取这些顾问。我只需要执行一次,而无需递归。

const query = graphql`
  query AdvisorProfileQuery($id: ID!) {
    advisor: node(id: $id) {
      ... on Advisor {
        name
        assignments (first: 100) {
          edges {
            node {
              id <---- i want these ids and plug them back into the query to just get "name" of the list of ids
            }
          }
        }
      }
    }
  }
`;

const QueryRenderer = LoadingQueryRenderer(AdvisorProfile,query);
export default ({ i18n }) => {
  const { id } = useParams();
  return (
    <>
      <QueryRenderer params={{ id: id }} />
    </>
  );
};

解决方法

答案是创建一个片段并将其弹入...

父项

const query = graphql`
  query AdvisorProfileQuery($id: ID!) {
    advisor: node(id: $id) {
      ... on Advisor {
        ... BottomCardTable_advisor
        name
      }
    }
  }
`;

const QueryRenderer = LoadingQueryRenderer(AdvisorProfile,query);
export default ({ i18n }) => {
  const { id } = useParams();
  return (
    <>
      <QueryRenderer params={{ id: id }} />
    </>
  );
};

关于子组件

export default createFragmentContainer(TableComponent,graphql`
  fragment BottomCardTable_advisor on Advisor {
    assignments: assignments (first: 100) {
      edges {
        node {
          id
          primaryName
          primaryEmail
          assignedOn
          type
        }
      }
    }
  }
`);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?