带有 React 的 Apollo 客户端 2 无法进行查询
Posted
技术标签:
【中文标题】带有 React 的 Apollo 客户端 2 无法进行查询【英文标题】:Apollo client 2 with React couldn't make query 【发布时间】:2018-04-19 18:32:01 【问题描述】:我对带有 React 的 Apollo 客户端版本 2 有疑问。 (https://www.apollographql.com/docs/react/)
当我根据文档设置 Apollo 客户端时,我无法在 GraphQl 服务器上进行查询,它会引发错误:
Uncaught (in promise) TypeError: _super.call is not a function
at new ObservableQuery (ObservableQuery.js:36)
at QueryManager.watchQuery (QueryManager.js:393)
at QueryManager.js:420
at new Promise (<anonymous>)
at QueryManager.query (QueryManager.js:418)
at ApolloClient.query (ApolloClient.js:86)
at Object._typeof (index.js:21)
at __webpack_require__ (bootstrap 4164d2c8f7d280e544dd:19)
at Object.<anonymous> (location.js:34)
at __webpack_require__ (bootstrap 4164d2c8f7d280e544dd:19)
我的代码在这里:
import ApolloClient from "apollo-client";
import HttpLink from "apollo-link-http";
import InMemoryCache from "apollo-cache-inmemory";
import gql from "graphql-tag";
const client = new ApolloClient(
link: new HttpLink( uri: "https://q80vw8qjp.lp.gql.zone/graphql" ),
cache: new InMemoryCache()
);
client
.query(query: gql`hello`)
.then(console.log);
谁能帮我解决这个问题?
【问题讨论】:
这有什么好运气吗?你的应用程序的其余部分是什么样的?你在用 webpack 吗? 我也有这个问题。相当关键的问题,已经几个月了:( 【参考方案1】:免责声明:我的回复假设您和我有同样的问题。
不确定这里到底发生了什么,但似乎是 Windows 上的 webpack 的问题。我很幸运能够在 MacBook Pro 上运行 Parallels (Windows 10),因此我能够通过在 Mac 而不是 Windows 上针对我的 Windows 项目运行 webpack 来克服这个问题。
不是一个完整的答案,而是一个线索,并且可以解决。
如果您无法在 Mac 上进行构建,尽管这在短期内没有多大帮助。如果您还没有考虑切换到 Apple,还有一个理由 ;)
可能需要向 webpack 团队记录问题以解决问题 https://github.com/webpack/webpack/issues,但这项工作暂时可以解决我的问题,所以我要继续前进。
【讨论】:
我正在使用 Linux Mint。我之前在 Mac 上测试过相同的配置,它可以工作。 所以我猜 apollo/webpack 目前不能在 Windows 和 Linux 上工作。 不仅仅是 Windows 问题。在mac上也有这个。相同的设置。以上是关于带有 React 的 Apollo 客户端 2 无法进行查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在本地网络上部署带有 apollo 客户端和 apollo-server 后端的 React 应用程序
使用带有 React 和 Apollo 的 graphql 订阅制作实时应用程序
为 apollo 客户端创建反应组件,带有对象参数的简单模型