【问题标题】:How to capture the response of a query in GraphQL Relay如何在 GraphQL Relay 中捕获查询的响应
【发布时间】:2021-01-11 20:48:06
【问题描述】:

我是新来的中继,我有一个提供响应的查询,我可以在检查器的网络选项卡中看到,但我不明白如何获取该响应以在我的组件中使用。有人可以解释一下吗?

我的查询是

const query = graphql`
query AdvisorProfileQuery($id: ID!) {
    node(id: $id) {
        ...on Advisor {
            name
            postalCode
            products
            referralCode
            status
            updatedAt
        }
    }
}`;

并贯穿渲染器

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

但是保存返回给组件的数据的变量名是什么?我想将该数据作为道具传递给另一个组件。

这就是响应的样子

【问题讨论】:

    标签: reactjs graphql relayjs


    【解决方案1】:

    您可以按照official docs的示例进行操作

    import React from 'react';
    import { QueryRenderer, graphql } from 'react-relay';
     
    const Example = (props) => {
      return (
        <QueryRenderer
          environment={environment}
          query={graphql`
            query ExampleQuery($pageID: ID!) {
              page(id: $pageID) {
                name
              }
            }
          `}
          variables={{
            pageID: '110798995619330',
          }}
          render={({ props }) => {
            if (props) {
              return <ChildComponent page={page.name} />;
            }
            return <div>Loading</div>;
          }}
        />
      );
    }
    

    您可以像通常的道具一样使用 QueryRenderer 渲染中的数据

    【讨论】:

      猜你喜欢
      • 2018-01-16
      • 2018-05-08
      • 2023-01-24
      • 2020-06-25
      • 2016-03-03
      • 2015-11-27
      • 2016-11-12
      • 2021-10-02
      • 2016-02-10
      相关资源
      最近更新 更多