我正在尝试使用此代码设置react-apollo:
import React from 'react';
import {render} from 'react-dom';
import gql from 'graphql-tag';
import { ApolloProvider, graphql } from 'react-apollo';
import { ApolloClient } from 'apollo-client';
import { HttpLink } from 'apollo-link-http';
import { InMemoryCache } from 'apollo-cache-inmemory';
const client = new ApolloClient({
link: new HttpLink({ uri: 'http://localhost:5000/graphql' }),
cache: new InMemoryCache()
});
class App extends React.Component {
render () {
return <p> Hello React project</p>; }
}
const MY_QUERY = gql`query Hello { hello }`;
const AppWithData = graphql(MY_QUERY)(App)
render(
<ApolloProvider client={client}>
<AppWithData />
</ApolloProvider>,
document.getElementById('app')
);
查看chrome dev工具中的“网络”选项卡,我可以看到请求即将到来:
我想知道是否可能错过了一些配置设置以获得正确格式的响应?或者我可能需要以不同的格式从我的graphql端点返回数据?任何建议都表示赞赏,我只是学习graphql和apollo所以它可能是非常明显的东西。谢谢!
答案 0 :(得分:2)
问题在于我需要将回复包装在“数据”中。关键,所以我需要的回应是:
{
"data": {
"hello": "hello"
}
}
正如我所说,我是graphql / apollo的新手