在我的应用程序的一个页面上,我正在使用 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"
}
}.
我相信这是因为菜单数据还没有。
我怎么能等到它出现呢?