【发布时间】:2020-12-14 05:58:39
【问题描述】:
我是 react/graphql/apollo 的新手,但是我遵循了有关如何在 www.apollographql.com 上使用 Apollo 进行 graphql 查询的指南。但是我似乎无法显示结果。
这是我执行查询的代码
import React from "react";
import { useQuery } from 'react-apollo';
import gql from "graphql-tag";
const GET_PRODUCTS = gql`
query getProducts{
products(first: 1) {
edges {
node {
id
name
}
}
}
}
`;
const StartPage = () => {
const { loading, error, returnData } = useQuery(GET_PRODUCTS, {
variables: {},
});
return (
<p>Hello world, this should be the data: {returnData}</p>
);
};
我只看到“Hello world,这应该是数据:”但没有打印 returnData? 我不能只打印整个响应吗?
当我重新加载页面时,我可以在网络选项卡中清楚地看到我的查询 确实被执行了,我得到了正确的回应
请求
{"operationName":"getProducts","variables":{},"query":"query getProducts {\n products(first: 1) {\n edges {\n node {\n id\n name\n __typename\n }\n __typename\n }\n __typename\n }\n}\n"}
回复
{"data":{"products":{"edges":[{"node":{"id":"UHJvZHVjdDo3Mg==","name":"Apple Juice","__typename":"Product"},"__typename":"ProductCountableEdge"}],"__typename":"ProductCountableConnection"}}}
那么有没有人知道为什么 returnData 没有打印/为空?
【问题讨论】:
-
你不能从示例中复制/粘贴更多代码吗? ...
if(loading)...是出于某种原因 ...data可以重命名,但其他方式...我想没有更早的反应加载数据体验
标签: reactjs graphql apollo react-apollo apollo-client