React native React Native[网络错误]:TypeError:使用Apollo客户端的网络请求失败

React native React Native[网络错误]:TypeError:使用Apollo客户端的网络请求失败,react-native,expo,react-apollo,apollo-client,React Native,Expo,React Apollo,Apollo Client,我只想使用React Native with Expo在本地主机上连接Apollo服务器 如果我尝试使用以下api链接https://q815p14lp.lp.gql.zone/graphql工作正常。但是如果我尝试使用http://127.0.0.1:8080/graphql或http://localhost:8080/graphql我收到以下错误:[网络错误]:类型错误:网络请求失败 这是我尝试连接的代码 const httpLink = new HttpLink({ uri: 'http:

我只想使用React Native with Expo在本地主机上连接Apollo服务器

如果我尝试使用以下api链接
https://q815p14lp.lp.gql.zone/graphql
工作正常。但是如果我尝试使用
http://127.0.0.1:8080/graphql
http://localhost:8080/graphql
我收到以下错误:
[网络错误]:类型错误:网络请求失败

这是我尝试连接的代码

const httpLink = new HttpLink({ uri: 'http://127.0.0.1:8080/graphql' });

const authLink = setContext(async (_, { headers }) => {
  const token = await getToken();

  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : null,
    }
  };
});

const errorLink = onError(({ networkError, graphQLErrors }) => {
  if (graphQLErrors)
    graphQLErrors.map(({ message, locations, path }) =>
      console.log(
        `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`
      )
    );
  if (networkError) console.log(`[Network error]: ${networkError}`);
})

const client = new ApolloClient({
  link: ApolloLink.from([errorLink, authLink, httpLink]),
  cache: new InMemoryCache()
});

"apollo-boost": "^0.1.18",
"apollo-link-context": "^1.0.9",
"apollo-link-error": "^1.1.1",
"expo": "^30.0.1",
"react-apollo": "^2.2.4",

知道我做错了什么吗?

主机
*.lp.gql.zone
是一个Launchpad graphql服务器。因此,您的服务器运行在Launchpad上,而不是本地计算机上

此外,使用Expo连接到本地机器也没有多大意义。本例中的“localhost”是运行应用程序的电话设备

我猜你真正想要的是设备上的Expo应用程序连接到mac/pc上的开发graphql服务器?在这种情况下,您应该使用在“调试”视图中看到的IP地址:


在本例中,您的连接url变为:
http://10.10.9.70:8080/graphql

难以置信!在这件事上损失了4个小时。万分感谢@Jesper!!