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

Graphql (中继)根据查询结果重新运行查询的正确语法是什么,graphql,relayjs,Graphql,Relayjs,假设我有一个查询,它得到一个advisors。该查询返回连接到该advisor的advisorids的列表。现在我想重新运行首先得到advisor的查询,使用nids的number,并得到那些advisor。我只需要做一次,而不是递归 const query = graphql` query AdvisorProfileQuery($id: ID!) { advisor: node(id: $id) { ... on Advisor { name

假设我有一个查询,它得到一个
advisors
。该查询返回连接到该advisor的advisor
id
s的列表。现在我想重新运行首先得到advisor的查询,使用
n
ids的
number,并得到那些advisor。我只需要做一次,而不是递归

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`
查询AdvisorProfileQuery($id:id!){
顾问:节点(id:$id){
…关于顾问{
名称
作业(第一次:100){
边缘{
节点{
身份证{
const{id}=useParams();
返回(
);
};

答案是创建一个片段,并将其放在

父组件

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
        }
      }
    }
  }
`);