react-apollo没有连接到我的graphql本地服务器

时间:2017-12-11 11:48:43

标签: react-native graphql react-apollo

我一直在尝试使用Apollo连接到我的本地GraphQL服务器。以下是我使用react-apollo2.0的尝试。但我也尝试使用react-apollo1.4createNetworkInterface,但我收到同样的错误。

import { graphql } from 'react-apollo';
import gql from 'graphql-tag';
import { AppRegistry } from 'react-native';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { ApolloClient } from 'apollo-client';
import { ApolloProvider } from 'react-apollo';

const client = new ApolloClient({
  link: new HttpLink({ uri: 'http://localhost:8000/graphql' }),
  cache: new InMemoryCache()
});

function FooList({ data: { loading, posts } }) {
  if (loading) {
    return <Text>Loading</Text>;
  } else {
      return (
        <List>
          <ListItem>
            <Left>
                <Text>John Doe5</Text>
                <Text note>(buyer)</Text>
            </Left>
            <Right>
                <Text note>21 min ago</Text>
            </Right>
          </ListItem>
        </List>
      );
  }
}

export default graphql(gql`
  query allLeads {
    id
    name
  }
`)(FooList);

const App = () => (
  <ApolloProvider client={client}>
    <FooList/>
  </ApolloProvider>
);

export default App;

我得到的错误:

enter image description here

我的依赖。

  "dependencies": {
    "@expo/vector-icons": "^6.2.0",
    "apollo-client-preset": "^1.0.4",
    "expo": "^22.0.2",
    "graphql": "^0.11.7",
    "graphql-tag": "^2.6.0",
    "native-base": "^2.3.3",
    "react": "16.0.0-beta.5",
    "react-apollo": "^2.0.4",
    "react-link": "^1.0.3",
    "react-native": "^0.49.5",
    "react-navigation": "^1.0.0-beta.21"
  }

根据文档,这是你应该如何设置它。我的服务器没有被点击,我可以在http://localhost:8000/graphql访问图形浏览器就好了。

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

来自Android docs

  

模拟器的每个实例都在虚拟路由器/防火墙后面运行   将其与开发机器网络隔离的服务   接口和设置以及来自互联网。模拟设备   无法在上面看到您的开发机器或其他模拟器实例   网络。相反,它只看到它通过以太网连接   到路由器/防火墙。

     

每个实例的虚拟路由器管理10.0.2 / 24网络   地址空间 - 路由器管理的所有地址都是以   10.0.2.xx,其中xx是数字。此空间中的地址由仿真器/路由器预先分配,如下所示:

     

10.0.2.1路由器/网关地址

     

10.0.2.2主机环回接口的特殊别名(即开发计算机上的127.0.0.1)

     

10.0.2.3第一个DNS服务器

     

10.0.2.4 / 10.0.2.5 / 10.0.2.6可选的第二,第三和第四DNS服务器(如果有)

     

10.0.2.15仿真设备网络/以太网接口

     

127.0.0.1模拟设备环回接口

请注意,此虚拟路由器仅供AVD仿真器使用,对于其他仿真器可能不同

答案 1 :(得分:0)

我认为错误与apollo无关,似乎你在一个文件中使用导出默认值两次,因为它是不允许的