【发布时间】:2020-01-06 18:38:10
【问题描述】:
我是 GraphQL/Apollo 的新手,很难用 React 应用程序设置它。
我有一个 React 组件,它从使用 Amplify/AppSync 构建的 GraphQL API 加载列表。
如果我手动调用来获取项目,即:
const videosData = await client.query({
query: gql(queries.listVideos)
});
const videosItems = videosData.data.listVideos.items;
setVideosData(videosItems);
像魅力一样工作。 但是,如果我尝试使用 Apollo Query 组件或 useQuery 挂钩,则会引发以下错误:
TypeError: this.currentObservable.query.getCurrentResult 不是 功能
如果我只是添加行以使用钩子获取查询,它已经给了我这个错误
钩子调用:
const {loading, error, data, refetch} = useQuery(gql(queries.listVideos));
引发问题的被调用函数:
QueryData.getQueryResult
node_modules/@apollo/react-hooks/lib/react-hooks.esm.js:325
322 | called: true
323 | });
324 | } else {
> 325 | var currentResult = this.currentObservable.query.getCurrentResult();
| ^ 326 | var loading = currentResult.loading,
327 | partial = currentResult.partial,
328 | networkStatus = currentResult.networkStatus,
如果我使用<Query> 组件,也会出现完全相同的问题
软件包版本:
"aws-amplify": "^1.1.30", "aws-amplify-react": "^2.3.10", "aws-appsync": "^1.8.1", "graphql-tag": "^2.10.1", "react-apollo": "^3.0.1",
知道我可能做错了什么以及如何解决吗?
【问题讨论】:
-
我遇到了同样的问题。你找到解决办法了吗?
-
@BrianMcDonough 还没有... tbh 我在设置这个无服务器的 graphql api 时遇到了很多问题,而且几乎没有支持,我正在考虑回到旧的 REST 服务器
标签: reactjs graphql react-apollo aws-amplify aws-appsync