如何在 GraphQL Relay 中捕获查询的响应
How to capture the response of a query in GraphQL Relay
我是中继的新手,我有一个提供响应的查询,我可以在检查器的网络选项卡中看到它,但我不明白的是如何获取该响应以用于我的组件。有人可以解释一下吗?
我的查询是
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 }}
/>
</>
);
};
但是保存返回到组件的数据的变量名称是什么?我想将该数据作为道具传递给另一个组件。
这是响应的样子
您可以按照 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 渲染器中的数据
我是中继的新手,我有一个提供响应的查询,我可以在检查器的网络选项卡中看到它,但我不明白的是如何获取该响应以用于我的组件。有人可以解释一下吗?
我的查询是
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 }}
/>
</>
);
};
但是保存返回到组件的数据的变量名称是什么?我想将该数据作为道具传递给另一个组件。
这是响应的样子
您可以按照 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 渲染器中的数据