【发布时间】:2019-10-22 22:15:12
【问题描述】:
在我的应用程序的一个页面上,我正在使用 graphql apollo 客户端进行两次 api 调用。一个是document,另一个是menu。我的一个组件中需要菜单数据,所以我想使用readQuery 以免再次获取它。我正在做的是:
const client = useApolloClient();
try {
const testData = client.readQuery({
query: gql`
query ($result: String) {
menu(result: $result) {
text
}
}
`,
variables: {
result: „testresult”
},
});
console.log(testData);
} catch(e) {
console.log(e);
}
graphQL 正在寻找 document 根查询,因此错误如下所示:
Invariant Violation: Can't find field menu({"lang":"en-us"}) on object
{
"document({\"lanf\":\"en-us\",\"id\":\"mySite\"})": {
"type": "id",
"generated": false,
"id": "XO5tyxAAALGzcYGG",
"typename": "Document"
}
}.
我认为是因为菜单数据还没有。
我怎么能等到它出现呢?
【问题讨论】:
标签: reactjs graphql react-apollo react-apollo-hooks