使用 expo start 启动时,Expo 不会创建 Websocket ApolloClient 实例

Posted

技术标签:

【中文标题】使用 expo start 启动时,Expo 不会创建 Websocket ApolloClient 实例【英文标题】:Expo does not create Websocket ApolloClient instance when started with expo start 【发布时间】:2020-10-27 18:02:48 【问题描述】:

我在expo 项目中使用react-apollo 样板。

到目前为止,项目运行良好。但是当我与我的数据库进行交互时,它会失败:

未处理的拒绝(错误):网络错误:响应不成功: 收到状态码 400

开发服务器已断开连接。

那么最好的继续方法是什么?这是与我的数据库连接需要运行的ApolloClient

const client = new ApolloClient(
  link,
  cache: new InMemoryCache(),
)

在我切换到expo 之前,我只运行react-scripts start 并且数据库和代码已启动并运行。但是现在使用expo,它只会启动代码。

expo 有什么特别之处可以让数据库也启动并运行吗?

androidweb 之间也没有区别:

或者我是否需要将该客户端外包并在新实例中运行它?但这有副作用,比如我不能再访问像state 这样的东西了。所以这不是很有意义吗?

发现这些集成到 App 功能中,但它们对我不起作用:

https://***.com/a/56298339/1077633 https://www.apollographql.com/docs/react/integrations/react-native/ https://dzone.com/articles/integrate-a-react-native-app-with-graphql-and-apol https://medium.com/react-native-training/react-native-with-apollo-part-2-apollo-client-8b4ad4915cf5

【问题讨论】:

【参考方案1】:

实际上它有助于通过yarn start 重新启动 GraphQL 服务器。

不行,清理后尝试重建所有模块。

【讨论】:

以上是关于使用 expo start 启动时,Expo 不会创建 Websocket ApolloClient 实例的主要内容,如果未能解决你的问题,请参考以下文章

React Native 和 Expo - SVG 不会在 iOS 设备上呈现

首次运行应用程序时的 Expo 问题

Expo React Native Bare 发布 APK 在启动时立即崩溃

expo for ios - '启动设备时无法确定运行时捆绑包

Expo 入门宝典 一 (Quick Start)

注销时重新启动expo应用程序而不弹出